Um auf Trusted Cloudzugreifen zu können, müssen Sie normalerweise die Google Cloud CLI autorisieren. Diese Seite enthält die verfügbaren Autorisierungsoptionen und zeigt, wie Sie die Konten verwalten, die Sie für die Autorisierung verwenden. Wenn Sie eine Compute Engine-Instanz oder Cloud Shell verwenden, müssen Sie die gcloud CLI nicht autorisieren.
Kontotypen
Sie können die gcloud CLI für den Zugriff aufTrusted Cloudentweder über ein Nutzerkonto oder ein Dienstkonto autorisieren.
Ein Nutzerkonto ist ein Trusted Cloud -Konto, mit dem Sie sich bei Ihrer Anwendung authentifizieren können. Für die häufigsten Anwendungsfälle, besonders die interaktive Verwendung der gcloud CLI, sollte ein Nutzerkonto verwendet werden.
Ein Dienstkonto ist ein Trusted Cloud -Konto, das mit IhremTrusted Cloud -Projekt und nicht mit einem bestimmten Nutzer verknüpft ist. Sie können das in Cloud Run-Funktionen, App Engine, Compute Engine oder Google Kubernetes Engine integrierte Dienstkonto verwenden. Zum Ausführen von gcloud CLI-Skripts auf mehreren Geräten wird ein Dienstkonto empfohlen.
Autorisierungstyp auswählen
Sie müssen die Google Cloud CLI autorisieren, um Trusted Cloud-Ressourcen zu verwalten. Sowohl die Google Cloud CLI als auch Trusted Cloud verwenden OAuth2 zur Authentifizierung und Autorisierung.
Wählen Sie einen der folgenden Autorisierungstypen aus:
Typ | Beschreibung |
---|---|
Nutzerkonto | Empfohlen, wenn Sie die gcloud CLI über die Befehlszeile verwenden oder Skripts mit der gcloud CLI für die Verwendung auf einem einzelnen Computer schreiben. |
Dienstkonto | Empfohlen, wenn Sie die gcloud CLI im Rahmen einer Rechnerbereitstellung für die Produktion oder zur Verwendung auf VM-Instanzen von Compute Engine, auf denen alle Nutzer Zugriff auf root haben, installieren und einrichten. |
Weitere Informationen zur Authentifizierung und zu Trusted Cloudfinden Sie unter Authentifizierung.
Mit einem Nutzerkonto autorisieren
In diesem Abschnitt wird beschrieben, wie Sie sich mit Workforce Identity-Föderation in der gcloud CLI anmelden.
Bevor Sie sich in der gcloud CLI anmelden, müssen Sie das Attributcore/universe_domain
in Ihrer Konfiguration festlegen. Führen Sie dazu den folgenden Befehl aus:
gcloud config set universe_domain s3nsapis.fr
Browserbasierte Anmeldung bei der gcloud CLI
So melden Sie sich mit einem browserbasierten Anmeldevorgang in der gcloud CLI an:
Erstellen Sie eine Konfigurationsdatei für die Anmeldung.
Mit dem folgenden Befehl erstellen Sie die Konfigurationsdatei für die Anmeldung. Sie können die Datei optional als Standarddatei für die gcloud CLI aktivieren, indem Sie das Flag
--activate
hinzufügen. Anschließend können Siegcloud auth login
ausführen, ohne den Pfad der Konfigurationsdatei jedes Mal angeben zu müssen.gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE_PATH
Ersetzen Sie Folgendes:
WORKFORCE_POOL_ID
: die ID des Workforce-PoolsPROVIDER_ID
: die Anbieter-IDLOGIN_CONFIG_FILE_PATH
: ein Pfad zu einer von Ihnen angegebenen Konfigurationsdatei, z. B.login.json
Die Datei enthält die Endpunkte, die von der gcloud CLI verwendet werden, um den browserbasierten Authentifizierungsvorgang zu aktivieren und die Zielgruppe auf den IdP festzulegen, der im Anbieter des Personalidentitätspools konfiguriert wurde. Die Datei enthält keine vertraulichen Informationen.
Die Ausgabe sieht dann ungefähr so aus:
{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.s3nscloud.fr/authorize", "token_url": "https://sts.s3nsapis.fr/v1/oauthtoken", "token_info_url": "https://sts.s3nsapis.fr/v1/introspect", }
gcloud auth login
diese Konfigurationsdatei automatisch verwendet, können Sie sie mit dem Befehlgcloud config unset auth/login_config_file
deaktivieren.Mit der browserbasierten Authentifizierung anmelden
Sie haben folgende Möglichkeiten, sich mit einer browserbasierten Anmeldung zu authentifizieren:
-
Wenn Sie das Flag
--activate
beim Erstellen der Konfigurationsdatei verwendet oder die Konfigurationsdatei mitgcloud config set auth/login_config_file
aktiviert haben, verwendet die gcloud CLI Ihre Konfigurationsdatei automatisch:gcloud auth login
-
Mit dem folgenden Befehl melden Sie sich durch Angabe des Speicherorts der Konfigurationsdatei an:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
-
Wenn Sie den Speicherort der Konfigurationsdatei mit einer Umgebungsvariable angeben möchten, legen Sie für
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
den Konfigurationspfad fest.
-
So beenden Sie die Verwendung der Konfigurationsdatei für die Anwendung:
-
Wenn Sie das Flag
--activate
beim Erstellen der Konfigurationsdatei verwendet oder die Konfigurationsdatei mitgcloud config set auth/login_config_file
aktiviert haben, müssen Sie den folgenden Befehl ausführen, um die Festlegung aufzuheben:gcloud config unset auth/login_config_file
-
Löschen Sie die Umgebungsvariable
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, falls sie festgelegt ist.
Monitorlose Anmeldung bei der gcloud CLI
So melden Sie sich mit einem monitorlosen Ablauf in der gcloud CLI an:
OIDC
Melden Sie einen Nutzer in Ihrer IdP-App an und rufen Sie das OIDC-Token ab.
Informationen zum Abrufen des Tokens finden Sie in der OIDC-Dokumentation Ihres Identitätsanbieters.
Speichern Sie das vom IdP zurückgegebene OIDC-Token an einem sicheren Ort auf Ihrem lokalen Computer.
Generieren Sie eine Konfigurationsdatei, indem Sie den folgenden Befehl ausführen:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \ --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \ --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \ --output-file="config.json"
Ersetzen Sie Folgendes:
WORKFORCE_POOL_ID
: die ID des Workforce-PoolsPROVIDER_ID
: die Anbieter-IDPATH_TO_OIDC_TOKEN
: der Pfad zur OIDC-IdP-AnmeldedatendateiWORKFORCE_POOL_USER_PROJECT
: die Projektnummer, die dem Nutzerprojekt für Workforce-Pools zugeordnet ist
Das Hauptkonto muss die Berechtigung serviceusage.services.use
für dieses Projekt haben.
Wenn Sie den Befehl ausführen, wird eine OIDC-IdP-Konfigurationsdatei erstellt, die etwa so aussieht:
{
"type": "external_account",
"audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID",
"subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
"token_url": "https://sts.googleapis.com/v1/token",
"workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
"credential_source": {
"file": "PATH_TO_OIDC_CREDENTIALS_FILE"
}
}
SAML
Melden Sie einen Nutzer bei Ihrer IdP-App an und rufen Sie die SAML-Assertion ab.
Informationen zum Abrufen der SAML-Assertion von Ihrem IdP finden Sie in der SAML-Dokumentation Ihres IdP.
Speichern Sie die vom IdP zurückgegebene SAML-Antwort an einem sicheren Ort auf Ihrem lokalen Computer und speichern Sie den Pfad dann und zwar so:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Führen Sie folgenden Befehl aus, um eine Konfigurationsdatei zu generieren:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \ --credential-source-file="SAML_ASSERTION_PATH" \ --workforce-pool-user-project="PROJECT_ID" \ --output-file="config.json"
Ersetzen Sie Folgendes:
WORKFORCE_PROVIDER_ID
: die ID des Workforce-Anbieters, den Sie zuvor in dieser Anleitung erstellt haben.WORKFORCE_POOL_ID
: die ID des Workforce-pools, die Sie zuvor in dieser Anleitung erstellt haben.SAML_ASSERTION_PATH
: der Pfad der SAML-Assertion-Datei.PROJECT_ID
: die Projekt-ID
Die generierte Konfigurationsdatei sieht in etwa so aus:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
Führen Sie den folgenden Befehl aus, um sich mit Token-Austausch in gcloud
anzumelden:
gcloud auth login --cred-file="config.json"
gcloud
tauscht dann Ihre IdP-Anmeldedaten transparent gegen temporäre Trusted Cloud Zugriffstokens aus, sodass Sie andere gcloud
-Aufrufe an Trusted Cloudsenden können.
Die Ausgabe sieht etwa so aus:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
/subject/USER_ID
].
Führen Sie den folgenden Befehl aus, um die Konten mit Anmeldedaten und Ihr aktuell aktives Konto aufzulisten:
gcloud auth list
Mit einem Dienstkonto autorisieren
Mit dem Befehl gcloud auth login
können Sie den Zugriff mit einem Dienstkonto autorisieren, indem Sie eine Anmeldedatendatei verwenden, die in Ihrem lokalen Dateisystem gespeichert ist. Diese Anmeldedaten können Nutzeranmeldedaten mit der Berechtigung zur Identitätsübernahme des Dienstkontos, eine Anmeldedatenkonfigurationsdatei für die Workload Identity-Föderation oder ein Dienstkontoschlüssel sein.
Dienstkonto mit Dienstkonto-Identitätsübernahme autorisieren
So autorisieren Sie die gcloud CLI, die Anmeldedaten des übernommenen Dienstkontos zu verwenden:
Rufen Sie in der Trusted Cloud Console die Seite „Dienstkonten“ auf.
Wählen Sie ein vorhandenes Konto aus oder erstellen Sie ein neues Konto, indem Sie auf Dienstkonto erstellen klicken.
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dienstkonto-Token-Ersteller (
roles/iam.serviceAccountTokenCreator
) für das Dienstkonto zuzuweisen, damit Sie die erforderliche Berechtigung haben, die Identität eines Dienstkontos zu übernehmen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Diese vordefinierte Rolle enthält die Berechtigung
iam.serviceAccounts.getAccessToken
, die erforderlich ist, um die Identität eines Dienstkontos zu übernehmen.Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Autorisieren Sie die gcloud CLI mit Ihrer Nutzeridentität, indem Sie
gcloud auth login
ausführen.Wenn Sie die gcloud CLI so einrichten möchten, dass standardmäßig die Identität und der Zugriff eines Dienstkontos verwendet werden, verwenden Sie den Befehl der gcloud CLI:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Wenn Sie die Identitätsübernahme von Dienstkonto-Anmeldedaten nicht mehr standardmäßig mit der gcloud CLI verwenden möchten, heben Sie die Festlegung des Flags mit dem gcloud CLI-Konfigurationsbefehl auf:
gcloud config unset auth/impersonate_service_account
Dienstkonto mithilfe der Identitätsföderation von Arbeitslasten autorisieren
So autorisieren Sie die gcloud CLI mit einem Dienstkonto mithilfe externer Anmeldedaten aus der Workload Identity-Föderation:
Rufen Sie in der Trusted Cloud Console die Seite „Dienstkonten“ auf.
Wählen Sie ein vorhandenes Konto aus oder erstellen Sie ein neues Konto, indem Sie auf Dienstkonto erstellen klicken.
Erstellen Sie eine Konfigurationsdatei für Anmeldedaten für die Workload Identity-Föderation, indem Sie der Anleitung für Ihren unterstützten Identitätsanbieter folgen.
Führen Sie zum Aktivieren Ihres Dienstkontos
gcloud auth login
mit dem Flag--cred-file
aus:gcloud auth login --cred-file=CONFIGURATION_FILE
Ersetzen Sie CONFIGURATION_FILE durch den Pfad zu einer Konfigurationsdatei für Anmeldedaten für die Workload Identity-Föderation.
Dienstkonto mit einem Dienstkontoschlüssel autorisieren
So autorisieren Sie die gcloud CLI mit einem Dienstkonto mithilfe eines Dienstkontoschlüssels:
Rufen Sie in der Trusted Cloud Console die Seite „Dienstkonten“ auf.
Wählen Sie ein vorhandenes Konto aus oder erstellen Sie ein neues Konto, indem Sie auf Dienstkonto erstellen klicken.
Informationen zum Erstellen von Dienstkontoschlüsseln finden Sie in der IAM-Anleitung zum Erstellen eines Dienstkontoschlüssels.
Führen Sie zum Aktivieren Ihres Dienstkontos
gcloud auth login
mit dem Flag--cred-file
aus:gcloud auth login --cred-file=KEY_FILE
Ersetzen Sie KEY_FILE durch den Pfad zu einer Dienstkontoschlüsseldatei.
Konten auflisten
Mit gcloud auth list
listen Sie die Konten auf, deren Anmeldedaten im lokalen System gespeichert sind:
gcloud auth list
Die gcloud CLI listet die Konten auf und zeigt an, welches Konto aktiv ist:
Credentialed accounts: - user-1@gmail.com (active) - user-2@gmail.com
Aktives Konto wechseln
Führen Sie zum Wechseln des aktiven Kontos gcloud config set
aus:
gcloud config set account ACCOUNT
Dabei steht [ACCOUNT]
für die vollständige E-Mail-Adresse des Kontos.
Sie können zum Wechseln des Kontos auch eine separate Konfiguration erstellen, in der das andere Konto angegeben ist, und dann zu dieser Konfiguration wechseln:
gcloud config configurations activate CONFIGURATION
Wenn Sie das von der gcloud CLI verwendete Konto auf Aufrufbasis wechseln möchten, überschreiben Sie das aktive Konto mit dem Flag --account
.
Autorisierte Sitzungslänge festlegen
Als Administrator können Sie steuern, wie lange verschiedene Nutzer auf die gcloud CLI zugreifen können, ohne sich neu authentifizieren zu müssen. So können Sie beispielsweise Nutzer mit umfassenderen Berechtigungen dazu zwingen, sich häufiger als reguläre Nutzer neu zu authentifizieren.
Weitere Informationen finden Sie unter Sitzungsdauer für Trusted Cloud -Dienste festlegen.
Anmeldedaten für ein Konto widerrufen
Sie können Anmeldedaten widerrufen, wenn Sie den Zugriff der gcloud CLI für ein bestimmtes Konto nicht zulassen möchten. Für den Wechsel zwischen Konten müssen die Anmeldedaten nicht widerrufen werden.
Führen Sie zum Widerrufen von Anmeldedaten den Befehl gcloud auth revoke
aus:
gcloud auth revoke ACCOUNT
Entfernen Sie die gcloud CLI aus der Liste der Anwendungen, die Zugriff auf Ihr Konto haben, um den gesamten Zugriff auf die gcloud CLI für alle Geräte zu widerrufen.
Mit Anmeldedatendateien arbeiten
Dateien mit Anmeldedaten finden
Mit gcloud info
können Sie suchen, in welchem Verzeichnis die Dateien mit den Anmeldedaten gespeichert sind:
gcloud info
Die gcloud CLI gibt Informationen zu Ihrer Installation aus. Dateien mit Anmeldedaten werden im Nutzerkonfigurationsverzeichnis abgelegt:
User Config Directory: [/home/USERNAME/.config/gcloud]
Standardanmeldedaten für Anwendungen einrichten
Die gcloud CLI bietet Unterstützung für die Verwaltung von Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) mit der Befehlsgruppe gcloud auth application-default
. Führen Sie den Befehl gcloud auth application-default login
aus, um Nutzeranmeldedaten für ADC verfügbar zu machen:
gcloud auth application-default login
Diese Anmeldedaten werden nicht von der gcloud CLI verwendet. Weitere Möglichkeiten zum Einrichten von ADC finden Sie unter Standardanmeldedaten für Anwendungen einrichten.
unset GOOGLE_APPLICATION_CREDENTIALS
gcloud config unset auth/impersonate_service_account
gcloud auth application-default login
Nächste Schritte
- Weitere Informationen zur Authentifizierung und zu Trusted Cloudfinden Sie unter Authentifizierung.
- Weitere Informationen zum Anpassen der gcloud CLI finden Sie unter gcloud CLI-Attribute.
- Weitere Informationen zum Verwalten benannter Gruppen von gcloud CLI-Eigenschaften finden Sie unter gcloud CLI-Konfigurationen.