gcloud CLI autorisieren

Für den Zugriff auf Google Cloud müssen Sie in der Regel 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

Wenn Sie der gcloud CLI die Berechtigung für den Zugriff auf Google Cloud erteilen möchten, können Sie entweder ein Nutzerkonto oder ein Dienstkonto verwenden.

Ein Nutzerkonto ist ein Google Cloud-Konto, mit dem Sie sich bei Ihrer Anwendung authentifizieren können. Für die häufigsten Anwendungsfälle, insbesondere bei der interaktiven Verwendung der gcloud CLI, empfiehlt sich die Verwendung eines Nutzerkontos.

Ein Dienstkonto ist ein mit Ihrem Google Cloud-Projekt (und nicht mit einem bestimmten Nutzer) verknüpftes Google-Konto. Sie können das integrierte Dienstkonto verwenden, wenn Sie Cloud Functions, App Engine, Compute Engine oder Google Kubernetes Engine verwenden. Zum Ausführen von gcloud CLI-Skripts auf mehreren Maschinen wird ein Dienstkonto empfohlen.

Autorisierungstyp auswählen

Sie müssen die Google Cloud CLI zum Verwalten von Google Cloud-Ressourcen autorisieren. Sowohl die Google Cloud CLI als auch Google 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 auf einer einzelnen Maschine schreiben.
Dienstkonto Empfohlen, wenn Sie die gcloud CLI im Rahmen einer Maschinenbereitstellung in der Produktion oder zur Verwendung auf Compute Engine-VM-Instanzen installieren und einrichten, auf denen alle Nutzer Zugriff auf root haben.

Weitere Informationen zur Authentifizierung und zu Google Cloud finden Sie unter Authentifizierung.

Mit Nutzerkonto autorisieren

Verwenden Sie die folgenden gcloud CLI-Befehle, um den Zugriff mit einem Nutzerkonto zu autorisieren:

Befehl Beschreibung
gcloud init Autorisierung des Zugriffs und führen weitere gängige Einrichtungsschritte aus.
gcloud auth login Autorisiert nur den Zugriff.

Diese Befehle rufen während der Autorisierung Anmeldedaten für das Konto aus Google Cloud ab und speichern sie auf dem lokalen System. Das angegebene Konto wird zum aktiven Konto in Ihrer Konfiguration. Die gcloud CLI verwendet die gespeicherten Anmeldedaten für den Zugriff auf Google Cloud. Sie können eine beliebige Anzahl von Konten mit gespeicherten Anmeldedaten für eine einzelne gcloud CLI-Installation haben, es ist jedoch immer nur ein Konto aktiv.

"gcloud init" ausführen

gcloud init autorisiert den Zugriff und führt weitere gängige Einrichtungsschritte aus. gcloud init verwendet einen webbasierten Autorisierungsvorgang, um das Nutzerkonto zu authentifizieren und Zugriffsberechtigungen zu gewähren.

So autorisieren Sie den Zugriff und führen weitere gängige Einrichtungsschritte aus:

  1. Führen Sie gcloud init aus.

    gcloud init
    

    Wenn kein Webbrowser automatisch geöffnet werden soll, verwenden Sie folgenden Befehl:

    gcloud init --console-only
    

    Das Flag --console-only ist nützlich, wenn Sie den Befehl auf einem Remote-System über ssh ausführen und dort keinen Zugriff auf einen Browser haben. Sie müssen dann die bereitgestellte URL manuell in einem Browser auf Ihrem lokalen System öffnen, um die Autorisierung abzuschließen.

  2. Führen Sie die Schritte für die Autorisierung im Browser aus, um das Konto zu authentifizieren und Zugriffsberechtigungen zu erteilen.

Weitere Informationen zu gcloud init finden Sie unter gcloud CLI initialisieren.

gcloud auth login ausführen

Wenn Sie gcloud auth login ausführen, wird nur das Nutzerkonto autorisiert. Sie haben die folgenden Möglichkeiten, den Zugriff zu autorisieren, ohne weitere Einrichtungsschritte auszuführen.

  • Wenn Sie die gcloud CLI auf einem Computer mit einem Browser autorisieren möchten, gehen Sie so vor:

    1. Autorisieren Sie die gcloud CLI:

      gcloud auth login
      
    2. Führen Sie die Schritte für die Autorisierung im Browser aus, um das Konto zu authentifizieren und Zugriffsberechtigungen zu erteilen.

  • Wenn Sie die gcloud CLI auf einer Maschine ohne Browser autorisieren möchten und die gcloud CLI auf einer anderen Maschine mit einem Browser installieren können, verwenden Sie das Flag --no-browser.

    1. Autorisieren Sie die gcloud CLI:

      gcloud auth login --no-browser
      
    2. Kopieren Sie den langen Befehl, der mit gcloud auth login --remote-bootstrap=" beginnt.

    3. Fügen Sie diesen Befehl ein und führen Sie ihn in der Befehlszeile eines anderen vertrauenswürdigen Computers aus, auf dem sowohl ein Webbrowser als auch das gcloud CLI-Tool ab Version 372.0 installiert ist.

    4. Kopieren Sie mit dem Webbrowser die Ausgabe der langen URL vom Computer.

    5. Fügen Sie die lange URL auf dem ersten Computer unter der Eingabeaufforderung „Geben Sie die Ausgabe des obigen Befehls ein“ zurück und drücken Sie die Eingabetaste, um die Autorisierung abzuschließen.

  • Wenn Sie die gcloud CLI auf einer Maschine ohne Browser autorisieren möchten und sie nicht auf einer anderen Maschine mit einem Browser installieren können, verwenden Sie das Flag --no-launch-browser. Das Flag --no-launch-browser verhindert, dass durch den Befehl automatisch ein Webbrowser geöffnet wird.

    1. Autorisieren Sie die gcloud CLI:

      gcloud auth login --no-launch-browser
      
    2. Kopieren Sie die lange URL, die mit https://accounts.google.com/o/oauth2/auth... beginnt.

    3. Fügen Sie diese URL in den Browser eines anderen vertrauenswürdigen Computers mit einem Webbrowser ein.

    4. Kopieren Sie den Autorisierungscode vom Computer mit dem Webbrowser.

    5. Fügen Sie den Autorisierungscode an der Eingabeaufforderung „Enter verification code“ (Bestätigungscode eingeben) wieder auf dem ersten Computer ein und drücken Sie die Eingabetaste, um die Autorisierung abzuschließen.

  • Wenn Sie bereits ein Zugriffstoken haben, verwenden Sie eine der folgenden Methoden, um es an die gcloud CLI zu übergeben:

    • Speichern Sie das Zugriffstoken in einer Datei und legen Sie den Pfad über das Flag --access-token-file fest.
    • Speichern Sie das Zugriffstoken in einer Datei und legen Sie den Pfad im Attribut auth/access_token_file fest.
    • Legen Sie für die Umgebungsvariable CLOUDSDK_AUTH_ACCESS_TOKEN den Wert des Zugriffstokens fest.

Mit Dienstkonto autorisieren

Mit dem Befehl gcloud auth login kann der Zugriff mit einem Dienstkonto autorisiert werden. Dazu wird eine Datei mit Anmeldedaten verwendet, die auf Ihrem lokalen Dateisystem gespeichert ist. Diese Anmeldedaten können Nutzeranmeldedaten mit der Berechtigung, die Identität des Dienstkontos zu übernehmen, eine Konfigurationsdatei mit Anmeldedaten 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 Dienstkontos zu verwenden, deren Identität übernommen wurde:

  1. Rufen Sie in der Google Cloud Console die Seite „Dienstkonten“ auf.

    Zur Seite „Dienstkonten“

  2. Wählen Sie ein vorhandenes Konto aus oder erstellen Sie ein neues Konto, indem Sie auf Dienstkonto erstellen klicken.

  3. Bitten Sie Ihren Administrator, dem Hauptkonto die IAM-Rolle Dienstkonto-Token-Ersteller (roles/iam.serviceAccountTokenCreator) zu gewähren, damit das Hauptkonto die erforderliche Berechtigung hat, die Identität eines Dienstkontos zu übernehmen.. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff 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. Autorisieren Sie die gcloud CLI mit Ihrer Nutzeridentität, indem Sie gcloud auth login ausführen.

  5. 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 gcloud CLI config:

    gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
    
  6. Wenn Sie standardmäßig die Identität von Dienstkonten mit übernommener Identität nicht mehr verwenden möchten, heben Sie die Festlegung des Flags mit dem Befehl gcloud CLI config auf:

    gcloud config unset auth/impersonate_service_account
    

Dienstkonto mit Workload Identity-Föderation autorisieren

Gehen Sie so vor, um die gcloud CLI mit einem Dienstkonto mithilfe externer Anmeldedaten aus der Workload Identity-Föderation zu autorisieren:

  1. Rufen Sie in der Google Cloud Console die Seite „Dienstkonten“ auf.

    Zur Seite „Dienstkonten“

  2. Wählen Sie ein vorhandenes Konto aus oder erstellen Sie ein neues Konto, indem Sie auf Dienstkonto erstellen klicken.

  3. Erstellen Sie eine Konfigurationsdatei für Anmeldedaten für die Workload Identity-Föderation. Folgen Sie dazu der Anleitung für Ihren unterstützten Identitätsanbieter.

  4. Führen Sie gcloud auth login mit dem Flag --cred-file aus, um Ihr Dienstkonto zu aktivieren:

    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 und einem Dienstkontoschlüssel:

  1. Rufen Sie in der Google Cloud Console die Seite „Dienstkonten“ auf.

    Zur Seite „Dienstkonten“

  2. Wählen Sie ein vorhandenes Konto aus oder erstellen Sie ein neues Konto, indem Sie auf Dienstkonto erstellen klicken.

  3. Informationen zum Erstellen von Dienstkontoschlüsseln finden Sie in der IAM-Anleitung unter Dienstkontoschlüssel erstellen.

  4. Führen Sie gcloud auth login mit dem Flag --cred-file aus, um Ihr Dienstkonto zu aktivieren:

    gcloud auth login --cred-file=KEY_FILE
    

    Ersetzen Sie KEY_FILE durch den Pfad zu einer Dienstkonto-Schlü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 ist [ACCOUNT] 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.

Länge der autorisierten Sitzung festlegen

Als Administrator können Sie festlegen, wie lange verschiedene Nutzer auf die gcloud CLI zugreifen können, ohne sich noch einmal authentifizieren zu müssen. Sie können beispielsweise Nutzer mit erweiterten Berechtigungen dazu bringen, sich häufiger als normale Nutzer noch einmal zu authentifizieren.

Weitere Informationen finden Sie unter Sitzungsdauer für Google 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. Sie müssen die Anmeldedaten nicht widerrufen, um zwischen Konten zu wechseln.

Führen Sie zum Widerrufen von Anmeldedaten den Befehl gcloud auth revoke aus:

gcloud auth revoke ACCOUNT

Wenn Sie den gesamten Zugriff auf die gcloud CLI für alle Maschinen widerrufen möchten, entfernen Sie die gcloud CLI aus der Liste der Anwendungen, die Zugriff auf Ihr Konto haben.

Mit Dateien mit Anmeldedaten 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 unterstützt die Verwaltung von Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) mit der Befehlsgruppe gcloud auth application-default. Führen Sie 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