Für die gcloud CLI authentifizieren

In diesem Dokument geht es nur um die Authentifizierung für die Google Cloud CLI für den Zugriff aufGoogle Cloud -Ressourcen. Wenn Sie Arbeitslasten mit Cloud-Clientbibliotheken oder Google API-Clientbibliotheken authentifizieren müssen, lesen Sie den Abschnitt Funktionsweise von Standardanmeldedaten für Anwendungen.

Hinweis

Wenn Sie neu bei Google Cloud sind und nur mit der Verwendung von gcloud CLI-Befehlen in Ihrer lokalen Entwicklungsumgebung beginnen möchten, können Sie die gcloud CLI mit dem folgenden Befehl initialisieren:

gcloud init

Bei der Initialisierung werden Sie durch einen Authentifizierungsvorgang geführt, eine gcloud CLI-Konfiguration wird eingerichtet und die gcloud CLI wird autorisiert, in Ihrem Namen zu agieren. Ein separater Authentifizierungsschritt ist nicht erforderlich.

Im Rest dieses Dokuments werden komplexere Szenarien behandelt, z. B. die Verwendung der gcloud CLI mit verschiedenen Prinzipaltypen, geeignete Authentifizierungsmethoden für verschiedene Umgebungen, das Wechseln von Prinzipalen und die Verwaltung gespeicherter Anmeldedaten.

Authentifizierungsmethoden

Für alle gcloud CLI-Befehle muss die Authentifizierung für Google CloudAPIs erfolgen. Sie können sich auf folgende Arten authentifizieren:

  • Anmeldedaten autorisieren und speichern: Geeignet für die Verwendung durch Menschen in einer lokalen Entwicklungsumgebung. Sie können die gcloud CLI mit dem Befehl gcloud auth login autorisieren, im Namen eines Principals zu agieren. Nach der ersten Authentifizierung werden mit diesem Befehl Anmeldedaten im Konfigurationsverzeichnis der gcloud CLI gespeichert. Die gcloud CLI verwendet diese gespeicherten Anmeldedaten zur automatischen Authentifizierung für nachfolgende Befehle, bis Ihre Sitzung abläuft oder Sie die Autorisierung widerrufen.

  • Mit einer Anmeldedatendatei authentifizieren: Geeignet für Arbeitslasten, die außerhalb von Google Cloudausgeführt werden. Sie können Umgebungsvariablen oder gcloud CLI-Konfigurationseigenschaften verwenden, um eine Datei mit Anmeldedaten für die automatische Authentifizierung anzugeben. Diese Datei kann eine der folgenden sein:

    • Eine Konfigurationsdatei für Anmeldedaten für die Workload Identity-Föderation.

    • Einen Dienstkontoschlüssel.

  • Zugriffstoken bereitstellen: Geeignet für hochgradig isolierte automatisierte Workflows oder zustandslose Sitzungen auf gemeinsam genutzten Maschinen. Sie können den Anmeldedatenspeicher umgehen, indem Sie der gcloud CLI direkt ein Zugriffstoken bereitstellen. Dazu können Sie eine bestimmte Umgebungsvariable auf den Rohstring des Zugriffstokens festlegen oder die gcloud CLI auf eine Datei verweisen, die das Zugriffstoken enthält.

Nach der Authentifizierung können Sie die gcloud CLI optional die Identität eines Dienstkontos übernehmen lassen, indem Sie die E-Mail-Adresse des Dienstkontos angeben.

Sie können in einer einzelnen Umgebung mehrere Authentifizierungsmethoden verwenden. Für jeden gcloud-Befehl wird jedoch nur ein Hauptkonto verwendet. Um zu ermitteln, welcher Prinzipal verwendet werden soll, folgt die gcloud CLI einer Prioritätsreihenfolge.

Wann keine Authentifizierung erforderlich ist

In den folgenden Situationen müssen Sie sich nicht für die gcloud CLI authentifizieren:

  • Unmittelbar nach der Initialisierung der gcloud CLI. Die Authentifizierung und Autorisierung der gcloud CLI, in Ihrem Namen zu handeln, sind im Initialisierungsprozess enthalten. Möglicherweise müssen Sie sich noch einmal authentifizieren, wenn Sie mit einem anderen Hauptkonto auf verschiedene Ressourcen zugreifen müssen oder Sie Ihr Hauptkonto neu authentifizieren müssen.
  • Bei Verwendung der gcloud CLI über eine Ressource, die einen Compute Engine- Metadatenserver bereitstellt. Dazu gehören Ressourcen wie Compute Engine-VM-Instanzen, Cloud Run-Dienste und Cloud Build-Builds. Die gcloud CLI authentifiziert sich mit dem Dienstkonto, das an die VM angehängt ist, und kann innerhalb der Grenzen aller angewendeten Zugriffsbereiche auf dieselben Ressourcen wie dieses Dienstkonto zugreifen.
  • Bei Verwendung von Cloud Shell Die gcloud CLI authentifiziert sich automatisch mit dem Konto, mit dem Sie sich in der Google Cloud Console angemeldet haben. Wenn Sie einen gcloud CLI-Befehl zum ersten Mal in einer neuen Cloud Shell-Sitzung ausführen, werden Sie aufgefordert, Cloud Shell mit diesem Prinzipal zu autorisieren.

Das richtige Hauptkonto für die Aufgabe auswählen

Es gibt verschiedene Arten von Identitäten für die Nutzung durch Menschen und für automatisierte Arbeitslasten. Der Hauptkontotyp, den Sie verwenden müssen, wirkt sich darauf aus, wie Sie sich authentifizieren.

  • Nutzerkonten: Dies sind Google-Konten, die für interaktive Aufgaben von Menschen vorgesehen sind, z. B. gelegentliche administrative Aufgaben, nicht programmatische Konfiguration von Google Cloud -Diensten, Tests, Experimente und Beobachtbarkeit.

    Sie authentifizieren sich als Nutzerkonto mit Nutzeranmeldedaten wie einem Passwort und einem Einmalcode.

  • Dienstkonten: Dies sind Konten, die speziell für Google Cloud sind und von Arbeitslasten verwendet werden können, um auf Dienste oder Ressourcen zuzugreifen. Normalerweise authentifizieren Sie sich nicht direkt als Dienstkonto. Stattdessen hängen Sie ein Dienstkonto an eine Ressource wie eine Compute Engine-VM an oder verwenden die Identitätsübernahme des Dienstkontos.

  • Föderierte Hauptkonten: Das sind Identitäten, die auf Nutzer- oder Dienstkonten bei einem externen Identitätsanbieter verweisen. Es gibt zwei Arten von föderierten Hauptkonten, die von Google Cloudunterstützt werden und ähnliche Namen haben:

gcloud CLI als Mensch verwenden

Bei interaktiven Aufgaben authentifizieren Sie sich in der Regel mit einer der folgenden Methoden:

  • Ein Nutzerkonto

  • Eine föderierte Nutzeridentität mit der Mitarbeiteridentitätsföderation

Nutzerkonten

Wie Sie sich mit einem Nutzerkonto für die gcloud CLI authentifizieren, hängt davon ab, ob auf Ihrem Gerät ein Webbrowser installiert ist.

Mein Gerät hat einen Webbrowser

Führen Sie die folgenden Schritte aus, um sich mit einem Nutzerkonto auf einem Gerät mit einem Webbrowser zu authentifizieren:

  1. Führen Sie den folgenden Befehl aus, um den Vorgang zu starten:

    gcloud auth login
    
  2. Folgen Sie dem browserbasierten Ablauf, um die gcloud CLI zu authentifizieren und zu autorisieren, damit sie bei zukünftigen Befehlen in Ihrem Namen auf Ressourcen zugreifen kann.

Mit dem Befehl gcloud auth login werden Anmeldedaten für den Zugriff in Ihrem Basisverzeichnis gespeichert. Das authentifizierte Hauptkonto wird zum aktiven Hauptkonto in Ihrer aktiven gcloud CLI-Konfiguration. Sofern nicht anders angegeben, verwendet die gcloud CLI diese gespeicherten Anmeldedaten für den Zugriff auf Google Cloud.

Auf meinem Gerät ist kein Webbrowser installiert

Wenn auf dem Gerät, auf dem Sie die gcloud CLI verwenden möchten, kein Webbrowser vorhanden ist, können Sie sich mit Ihrem Nutzerkonto auf einem anderen vertrauenswürdigen Gerät authentifizieren. Dieser Vorgang hängt von der auf dem anderen vertrauenswürdigen Gerät installierten Software ab.

Mit einem anderen vertrauenswürdigen Gerät authentifizieren

Wählen Sie aus, welche Software auf dem anderen vertrauenswürdigen Gerät verfügbar ist.

Die gcloud CLI und ein Webbrowser

Verwenden Sie das Flag --no-browser, um den Authentifizierungsvorgang auf einem anderen Gerät mit einem Webbrowser und der installierten gcloud CLI abzuschließen:

  1. Führen Sie den folgenden Befehl auf dem ursprünglichen Gerät aus, auf dem Sie die gcloud CLI verwenden möchten:

    Linux und macOS

    gcloud auth login \
        --no-browser
    

    Windows (PowerShell)

    gcloud auth login `
        --no-browser
    
  2. Kopieren Sie den gcloud-Befehl, der mit gcloud auth login --remote-bootstrap=" beginnt, um ihn auf dem anderen Gerät zu verwenden.

  3. Rufen Sie ein anderes vertrauenswürdiges Gerät auf, auf dem sowohl ein Webbrowser als auch die gcloud CLI-Version 372.0.0 oder höher installiert sind.

  4. Führen Sie im Terminal den zuvor kopierten Befehl aus, der mit gcloud auth login --remote-bootstrap=" beginnt, und schließen Sie den browserbasierten Ablauf ab.

  5. Kopieren Sie im Terminal die URL, die mit https://localhost beginnt, um sie auf dem ursprünglichen Gerät zu verwenden.

  6. Kehren Sie zum Originalgerät zurück.

  7. Fügen Sie im Terminal an der Eingabeaufforderung die https://localhost-URL ein, die Sie zuvor kopiert haben. Drücken Sie die Eingabetaste oder die Returntaste auf der Tastatur, um den Vorgang abzuschließen.

Mit dem Befehl gcloud auth login werden Anmeldedaten für den Zugriff in Ihrem Basisverzeichnis gespeichert. Das authentifizierte Hauptkonto wird zum aktiven Hauptkonto in Ihrer aktiven gcloud CLI-Konfiguration. Sofern nicht anders angegeben, verwendet die gcloud CLI diese gespeicherten Anmeldedaten für den Zugriff auf Google Cloud.

Nur Webbrowser

Verwenden Sie das Flag --no-launch-browser, um die Authentifizierung über den Webbrowser eines anderen Geräts abzuschließen:

  1. Führen Sie den folgenden Befehl auf dem ursprünglichen Gerät aus, auf dem Sie die gcloud CLI verwenden möchten:

    Linux und macOS

    gcloud auth login \
        --no-launch-browser
    

    Windows (PowerShell)

    gcloud auth login `
        --no-launch-browser
    
  2. Kopieren Sie die URL, die mit https://accounts.google.com/o/oauth2/auth beginnt, um sie auf dem anderen Gerät zu verwenden.

  3. Rufen Sie ein anderes vertrauenswürdiges Gerät auf, auf dem ein Webbrowser installiert ist.

  4. Öffnen Sie einen Webbrowser, rufen Sie die URL auf, die Sie zuvor kopiert haben, und schließen Sie den browserbasierten Ablauf ab.

  5. Kopieren Sie den Bestätigungscode, um ihn auf dem ursprünglichen Gerät zu verwenden.

  6. Kehren Sie zum Originalgerät zurück.

  7. Fügen Sie den zuvor kopierten Bestätigungscode in das Terminal ein. Drücken Sie die Eingabetaste oder die Returntaste auf der Tastatur, um den Vorgang abzuschließen.

Mit dem Befehl gcloud auth login werden Anmeldedaten für den Zugriff in Ihrem Basisverzeichnis gespeichert. Das authentifizierte Hauptkonto wird zum aktiven Hauptkonto in Ihrer aktiven gcloud CLI-Konfiguration. Sofern nicht anders angegeben, verwendet die gcloud CLI diese gespeicherten Anmeldedaten für den Zugriff auf Google Cloud.

Identitäten föderierter Nutzer

Sie können die gcloud CLI mit einer föderierten Nutzeridentität verwenden, die in einem externen Identitätsanbieter (IdP) verwaltet wird. Dazu verwenden Sie die Workforce Identity-Föderation.

Bei der folgenden Anleitung wird davon ausgegangen, dass Sie bereits einen Pool und einen Anbieter für die Mitarbeiteridentitätsföderation eingerichtet haben, die mit Ihrem IdP funktionieren.

Wenn Sie die gcloud CLI mit einer föderierten Nutzeridentität verwenden möchten, erstellen Sie eine Anmeldekonfigurationsdatei und melden sich dann über einen browserbasierten Ablauf an:

  1. Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei für die Anmeldung zu erstellen:

    Linux und macOS

    gcloud iam workforce-pools create-login-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --output-file=LOGIN_CONFIG_PATH

    Windows (PowerShell)

    gcloud iam workforce-pools create-login-config `
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID `
        --output-file=LOGIN_CONFIG_PATH

    Ersetzen Sie Folgendes:

    • WORKFORCE_POOL_ID: Die ID des Workforce Identity Federation-Pools.
    • WORKFORCE_PROVIDER_ID: Die ID des Anbieters der Mitarbeiteridentitätsföderation.
    • LOGIN_CONFIG_PATH: Der Pfad, in den die Anmeldekonfigurationsdatei geschrieben werden soll. Beispiel: login-config.json.

    Die Konfigurationsdatei für die Anmeldung 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 Workforce Identity-Poolanbieter konfiguriert wurde. Die Datei enthält keine vertraulichen Informationen.

    Der Inhalt der Anmeldekonfigurationsdatei sieht in etwa so aus:

    {
      "universe_domain": "googleapis.com",
      "universe_cloud_web_domain": "cloud.google",
      "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.google/authorize",
      "token_url": "https://sts.googleapis.com/v1/oauthtoken",
      "token_info_url": "https://sts.googleapis.com/v1/introspect"
    }

  2. Verweisen Sie mit einer Umgebungsvariable oder einem Attribut in der aktiven gcloud CLI-Konfiguration auf die Konfigurationsdatei für die Anmeldung oder verwenden Sie sie direkt mit dem Befehl gcloud auth login:

    Umgebungsvariable

    So verwenden Sie die Konfigurationsdatei für die Anmeldung mit einer Umgebungsvariable:

    1. Legen Sie die Umgebungsvariable CLOUDSDK_AUTH_LOGIN_CONFIG_FILE auf den Pfad der Anmeldekonfigurationsdatei fest.
    2. Führen Sie dazu diesen Befehl aus:

      gcloud auth login
    3. Die gcloud CLI verweist auf die Umgebungsvariable, um die Anmeldekonfigurationsdatei zu finden, und startet dann den Authentifizierungsprozess. Folgen Sie dem browserbasierten Ablauf, um die gcloud CLI zu authentifizieren und zu autorisieren, damit sie in Ihrem Namen auf Ressourcen für zukünftige Befehle zugreifen kann.

    Wenn Sie die Konfigurationsdatei für die Anmeldung für gcloud auth login-Befehle nicht mehr verwenden möchten, löschen Sie die Umgebungsvariable CLOUDSDK_AUTH_LOGIN_CONFIG_FILE.

    gcloud CLI-Konfiguration

    So verwenden Sie die Konfigurationsdatei für die Anmeldung mit einer Konfigurationseigenschaft der gcloud CLI:

    1. Legen Sie das Attribut auth/login_config_file der aktiven gcloud CLI-Konfiguration mit dem folgenden Befehl auf den Pfad der Anmeldekonfigurationsdatei fest:

      gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
    2. Führen Sie dazu diesen Befehl aus:

      gcloud auth login
    3. Die gcloud CLI verweist auf das Konfigurationsattribut, um die Anmeldekonfigurationsdatei zu finden, und startet dann den Authentifizierungsprozess. Folgen Sie dem browserbasierten Ablauf, um die gcloud CLI zu authentifizieren und zu autorisieren, damit sie in Ihrem Namen auf Ressourcen für zukünftige Befehle zugreifen kann.

    Wenn Sie die Konfigurationsdatei für die Anmeldung nicht mehr für gcloud auth login-Befehle verwenden möchten, heben Sie die Einstellung der Property mit dem folgenden Befehl auf:

    gcloud config unset auth/login_config_file

    gcloud auth login

    Wenn Sie die Konfigurationsdatei für die Anmeldung direkt mit dem Befehl gcloud auth login verwenden möchten, folgen Sie dieser Anleitung:

    • Wenn Sie das Flag --activate beim Erstellen der Konfigurationsdatei für die Anmeldung verwendet haben, führen Sie den folgenden Befehl aus:

      gcloud auth login
    • Wenn Sie das Flag --activate beim Erstellen der Konfigurationsdatei für die Anmeldung nicht verwendet haben, führen Sie den folgenden Befehl aus:

      Linux und macOS

      gcloud auth login \
          --login-config=LOGIN_CONFIG_PATH

      Windows (PowerShell)

      gcloud auth login `
          --login-config=LOGIN_CONFIG_PATH

      Ersetzen Sie LOGIN_CONFIG_PATH durch den Pfad Ihrer Anmeldekonfigurationsdatei.

    Mit dem Befehl gcloud auth login werden Anmeldedaten für den Zugriff in Ihrem Basisverzeichnis gespeichert. Das authentifizierte Hauptkonto wird zum aktiven Hauptkonto in Ihrer aktiven gcloud CLI-Konfiguration. Sofern nicht anders angegeben, verwendet die gcloud CLI diese gespeicherten Anmeldedaten für den Zugriff auf Google Cloud.

gcloud CLI mit Arbeitslasten verwenden

Bei automatisierten Arbeitslasten authentifizieren Sie sich in der Regel mit einer der folgenden Methoden:

  • Eine föderierte Arbeitslastidentität mit der Workload Identity-Föderation

  • Ein Dienstkonto mit Identitätsübernahme

Föderierte Arbeitslastidentitäten

Sie können die gcloud CLI mit einer föderierten Arbeitslastidentität verwenden. Dazu verwenden Sie die Workload Identity-Föderation.

Eine Arbeitslast kann entweder direkt auf Google Cloud Ressourcen zugreifen, indem sie als Hauptkonto fungiert, das durch einen Workload Identity-Pool definiert wird, oder die Identität eines Dienstkontos übernehmen, das an einen Workload Identity-Pool angehängt ist.

Wir empfehlen die Verwendung der Methode für direkten Zugriff, um Dienstkonten mit zu vielen Berechtigungen zu vermeiden und den Ressourcenzugriff mit der Kennung des föderierten Principals zu protokollieren. Verwenden Sie die Identitätsübernahme des Dienstkontos nur, wenn Google Cloud APIs die Workload Identity-Föderation nicht unterstützen.

In der folgenden Anleitung wird davon ausgegangen, dass Sie bereits einen Pool und einen Anbieter für die Identitätsföderation von Arbeitslasten eingerichtet haben, die mit Ihrem IdP funktionieren.

  1. 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.

  2. Definieren Sie den Pfad zur Konfigurationsdatei für Anmeldedaten in einer Umgebungsvariablen, als Attribut in der aktiven gcloud CLI-Konfiguration oder mit dem Befehl gcloud auth login:

    Umgebungsvariable

    Legen Sie die Umgebungsvariable CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE auf den Pfad der Konfigurationsdatei für Anmeldedaten fest. Die gcloud CLI verweist bei jedem Ausführen eines Befehls auf die Datei und ruft Anmeldedaten von Ihrem Identitätsanbieter ab. Diese Anmeldedaten werden gegen ein Zugriffstoken für Google Cloudeingetauscht.

    Wenn Sie die Anmeldedaten-Konfigurationsdatei nicht mehr verwenden möchten, löschen Sie die Umgebungsvariable CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE.

    gcloud CLI-Konfiguration

    Legen Sie das Attribut auth/credential_file_override der aktiven gcloud CLI-Konfiguration mit dem folgenden Befehl auf den Pfad der Anmeldedatenkonfigurationsdatei fest:

    gcloud config set auth/credential_file_override CONFIGURATION_PATH
    

    Ersetzen Sie CONFIGURATION_PATH durch den Pfad zur Konfigurationsdatei für Anmeldedaten.

    Wenn Sie die Konfigurationsdatei für Anmeldedaten nicht mehr standardmäßig für gcloud-Befehle verwenden möchten, heben Sie die Einstellung der Property mit dem folgenden Befehl auf:

    gcloud config unset auth/credential_file_override
    

    gcloud auth login

    Führen Sie den folgenden Befehl mit dem Flag --cred-file aus:

    Linux und macOS

    gcloud auth login \
        --cred-file=CONFIGURATION_PATH
    

    Windows (PowerShell)

    gcloud auth login `
        --cred-file=CONFIGURATION_PATH
    

    Ersetzen Sie CONFIGURATION_PATH durch den Pfad zu einer Konfigurationsdatei für Anmeldedaten.

    Mit dem Befehl gcloud auth login werden Anmeldedaten für den Zugriff in Ihrem Basisverzeichnis gespeichert. Das authentifizierte Hauptkonto wird zum aktiven Hauptkonto in Ihrer aktiven gcloud CLI-Konfiguration. Sofern nicht anders angegeben, verwendet die gcloud CLI diese gespeicherten Anmeldedaten für den Zugriff auf Google Cloud.

Dienstkonten

Sie können die gcloud CLI mit einem Dienstkonto auf folgende Weise verwenden:

  • Auf einer Ressource, die einen Compute Engine-Metadatenserver bereitstellt, z. B. eine Compute Engine-VM-Instanz oder ein Cloud Run-Dienst. Die gcloud CLI verwendet standardmäßig das Dienstkonto, das der Ressource zugeordnet ist, für die Authentifizierung.

  • Ein anderes Hauptkonto verwenden, um die Identität eines Dienstkontos zu übernehmen.

  • Mit einem Dienstkontoschlüssel.

Identitätsübernahme des Dienstkontos

Für den Ressourcenzugriff, der Ihrem Prinzipal normalerweise nicht zur Verfügung steht, empfehlen wir, die Rechteausweitung mit Privileged Access Manager zu verwalten, anstatt die Identitätsübernahme des Dienstkontos zu verwenden.

Wenn Privileged Access Manager nicht zu Ihrem Anwendungsfall passt, führen Sie die folgenden Schritte aus, um die gcloud CLI mit einem Dienstkonto zu verwenden:

  1. Wenn Sie die Identität eines Dienstkontos übernehmen möchten, muss die Service Account Credentials API in Ihrem Projekt aktiviert sein.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    API aktivieren

  2. Wählen Sie ein Hauptkonto aus, mit dem die Identität eines Dienstkontos übernommen werden soll.

  3. Bitten Sie Ihren Administrator, dem Hauptkonto die IAM-Rolle Dienstkonto-Token-Ersteller (roles/iam.serviceAccountTokenCreator) für das Dienstkonto zuzuweisen, damit das Hauptkonto die erforderliche Berechtigung hat, 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.

    Ihr Administrator kann dem Hauptkonto möglicherweise auch diese Berechtigung mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erteilen.

  4. Authentifizieren Sie sich für die gcloud CLI mit dem zuvor ausgewählten Hauptkonto, unabhängig davon, ob es sich um ein Nutzerkonto, eine föderierte Nutzeridentität, eine föderierte Arbeitslastidentität oder ein anderes Dienstkonto handelt.

  5. Wählen Sie ein Dienstkonto aus, dessen Identität Sie übernehmen möchten. Suchen Sie nach einem vorhandenen Dienstkonto oder erstellen Sie ein neues Dienstkonto.

  6. Kopieren Sie die E-Mail-Adresse des Dienstkontos.

  7. Wählen Sie aus, ob die Identität des Dienstkontos für alle Befehle oder nur für einen einzelnen Befehl übernommen werden soll:

    Alle Befehle

    Wenn Sie die Identitätsübernahme des Dienstkontos mit der gcloud CLI für zukünftige Befehle verwenden möchten, können Sie eine Umgebungsvariable oder eine Eigenschaft in der aktiven gcloud CLI-Konfiguration festlegen:

    • Umgebungsvariable: Legen Sie die Umgebungsvariable CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT auf die E-Mail-Adresse des Dienstkontos fest.

      Wenn Sie das Dienstkonto nicht mehr verwenden möchten, löschen Sie die Umgebungsvariable CLOUDSDK_AUTH_IMPERSONATE_SERVICE_ACCOUNT.

    • gcloud CLI-Konfiguration: Legen Sie das Attribut auth/impersonate_service_account der aktiven gcloud CLI-Konfiguration mit dem folgenden Befehl fest:

      gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_EMAIL
      

      Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch die E-Mail-Adresse des Dienstkontos.

      Wenn Sie die Identitätsübernahme des Dienstkontos nicht mehr standardmäßig für gcloud-Befehle verwenden möchten, heben Sie die Einstellung der Property mit dem folgenden Befehl auf:

      gcloud config unset auth/impersonate_service_account
      

    Einzelner Befehl

    Wenn Sie die Identitätsübernahme des Dienstkontos mit der gcloud CLI für einen einzelnen Befehl verwenden möchten, können Sie einem gcloud CLI-Dienstbefehl das Flag --impersonate-service-account hinzufügen.

    Wenn Sie beispielsweise Compute Engine-VM-Instanzen mithilfe der Identitätsübernahme des Dienstkontos auflisten möchten, führen Sie den folgenden Befehl aus:

    Linux und macOS

    gcloud compute instances