In diesem Dokument wird die Authentifizierung bei Assured Workloads programmatisch beschrieben.
Weitere Informationen zur Google Cloud-Authentifizierung finden Sie unter Authentifizierung.
API-Zugriff
Assured Workloads unterstützt den programmatischen Zugriff. Wie Sie sich bei Assured Workloads authentifizieren, hängt davon ab, wie Sie auf die API zugreifen. Sie haben folgende Möglichkeiten, um auf die API zuzugreifen:
Clientbibliotheken
Die Assured Workloads-Clientbibliotheken bieten allgemeine Unterstützung für die Sprachauthentifizierung bei Assured Workloads programmatisch. Clientbibliotheken unterstützen Standardanmeldedaten für Anwendungen (ADC). Die Bibliotheken suchen an einer Reihe von definierten Standorten nach Anmeldedaten und verwenden diese Anmeldedaten, um Anfragen bei der API zu authentifizieren. Mit ADC können Sie Anmeldedaten für Ihre Anwendung in verschiedenen Umgebungen bereitstellen, z. B. in der lokalen Entwicklung oder Produktion, ohne den Anwendungscode ändern zu müssen.
REST
Sie können sich bei Assured Workloads über die Befehlszeile mithilfe von Standardanmeldedaten für Anwendungen authentifizieren. Weitere Informationen finden Sie unter Mit REST authentifizieren.
Wenn Sie die API ohne Clientbibliothek verwenden möchten, können Sie die Authentifizierungsbibliothek von Google für Ihre Programmiersprache verwenden. Alternativ können Sie die Authentifizierung in Ihrem Code implementieren.
Authentifizierung für Assured Workloads einrichten
Wie Sie die Authentifizierung einrichten, hängt von der Umgebung ab, in der Ihr Code ausgeführt wird.
Am häufigsten werden die folgenden Optionen zum Einrichten der Authentifizierung verwendet. Weitere Optionen und Informationen zu Authentifizierung bei Google.
Bevor Sie diese Anleitung ausführen können, müssen Sie die grundlegende Einrichtung für Assured Workloads abgeschlossen haben, einschließlich der Aktivierung der API und der Installation der gcloud CLI.
Für eine lokale Entwicklungsumgebung
Wenn Sie Clientbibliotheken verwenden, Code-Snippets ausführen oder Tools von Drittanbietern wie Terraform in einer lokalen Entwicklungsumgebung verwenden möchten, müssen Sie in dieser Umgebung Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) einrichten. Für REST-Anfragen über die Befehlszeile verwenden Sie Ihre gcloud-Anmeldedaten.
Informationen zum Unterschied zwischen Ihren lokalen ADC-Anmeldedaten und Ihren gcloud-Anmeldedaten finden Sie unter ADC-Anmeldedaten und gcloud-Anmeldedaten.
Clientbibliotheken oder Tools von Drittanbietern
Richten Sie Standardanmeldedaten für Anwendungen für Ihre lokale Umgebung ein.
-
Erstellen Sie Anmeldedaten zur Authentifizierung für Ihr Google-Konto:
gcloud auth application-default login
Ein Anmeldebildschirm wird angezeigt. Nach der Anmeldung werden Ihre Anmeldedaten in der lokalen Anmeldedatendatei für ADC gespeichert.
Weitere Informationen zum Arbeiten mit ADC in einer lokalen Umgebung finden Sie unter Lokale Entwicklungsumgebung.
REST-Anfragen über die Befehlszeile
Wenn Sie eine REST-Anfrage über die Befehlszeile stellen, können Sie Ihre gcloud-Anmeldedaten verwenden. Fügen Sie dazu gcloud auth print-access-token
in den Befehl ein, der die Anfrage sendet.
Im folgenden Beispiel werden Dienstkonten für das angegebene Projekt aufgelistet. Sie können für jede REST-Anfrage das gleiche Muster verwenden.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Innerhalb von Google Cloud
Zur Authentifizierung einer in Google Cloud ausgeführten Arbeitslast verwenden Sie die Anmeldedaten des Dienstkontos, das an die Compute-Ressource angehängt ist, in der Ihr Code ausgeführt wird. Sie können beispielsweise ein Dienstkonto an eine Compute Engine-VM-Instanz, einen Cloud Run-Dienst oder Dataflow-Job anhängen. Dieser Ansatz ist die bevorzugte Authentifizierungsmethode für Code, der in einer Google Cloud-Computing-Ressource ausgeführt wird.
Bei den meisten Diensten müssen Sie das Dienstkonto beim Erstellen der Ressource, in der der Code ausgeführt wird, anhängen. Sie können das Dienstkonto später nicht hinzufügen oder ersetzen. Compute Engine ist eine Ausnahme. Sie können jederzeit ein Dienstkonto an eine VM-Instanz anhängen.
-
Richten Sie die Authentifizierung ein:
-
Erstellen Sie das Dienstkonto:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Ersetzen Sie
SERVICE_ACCOUNT_NAME
mit einem Namen für das Dienstkonto. -
Um Zugriff auf Ihr Projekt und Ihre Ressourcen zu gewähren, weisen Sie dem Dienstkonto eine Rolle zu:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE
Dabei gilt:
SERVICE_ACCOUNT_NAME
: der Name des DienstkontosPROJECT_ID
: die Projekt-ID, unter der Sie das Dienstkonto erstellt habenROLE
: die zu gewährende Rolle
- Führen Sie den Befehl wie schon im vorherigen Schritt aus, um dem Dienstkonto eine weitere Rolle zuzuweisen.
-
Gewähren Sie Ihrem Google-Konto eine Rolle, mit der Sie die Rollen des Dienstkontos verwenden und das Dienstkonto an andere Ressourcen anhängen können:
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
Dabei gilt:
SERVICE_ACCOUNT_NAME
: der Name des DienstkontosPROJECT_ID
: die Projekt-ID, unter der Sie das Dienstkonto erstellt habenUSER_EMAIL
: E-Mail-Adresse Ihres Google-Kontos
-
-
Erstellen Sie die Ressource, in der der Code ausgeführt wird, und hängen Sie das Dienstkonto an diese Ressource an. Wenn Sie beispielsweise Compute Engine verwenden:
Erstellen Sie eine Compute Engine-Instanz: Konfigurieren Sie die Instanz wie folgt:-
Ersetzen Sie
INSTANCE_NAME
durch Ihren bevorzugten Instanznamen. - Legen Sie für das Flag
--zone
die Zone fest, in der Sie Ihre Instanz erstellen möchten. -
Legen Sie das Flag
--service-account
auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos fest.
gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL
-
Ersetzen Sie
Lokal oder bei einem anderen Cloud-Anbieter
Die bevorzugte Methode zum Einrichten der Authentifizierung außerhalb von Google Cloud ist die Verwendung der Identitätsföderation von Arbeitslasten. Weitere Informationen finden Sie in der Authentifizierungsdokumentation unter Lokal oder bei einem anderen Cloud-Anbieter.
Zugriffssteuerung in Assured Workloads
Nach der Authentifizierung bei Assured Workloads müssen Sie für den Zugriff auf Google Cloud-Ressourcen autorisiert sein. Assured Workloads verwendet Identity and Access Management (IAM) für die Autorisierung.
Weitere Informationen zu den Rollen für Assured Workloads finden Sie unter Zugriffssteuerung mit IAM. Weitere Informationen zu IAM und Autorisierung finden Sie in der IAM-Übersicht.
Nächste Schritte
- Weitere Informationen zur Google Cloud-Authentifizierung
- Liste der Authentifizierungsanwendungsfälle