gcloud CLI autorisieren

In der Regel müssen Sie Folgendes tun, um auf Google Cloud zugreifen zu können: 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 der gcloud CLI den Zugriff auf Google Cloud entweder über ein Nutzerkonto oder ein Dienstkonto gewähren.

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 interaktiv mit der gcloud CLI ist die Verwendung eines Nutzerkontos am besten zu üben.

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, Cloud Run-Funktionen, App Engine, Compute Engine oder Google Kubernetes Engine Zum Ausführen von gcloud-Befehlszeilen-Scripts auf mehreren Maschinen wird ein Dienstkonto empfohlen.

Autorisierungstyp auswählen

Sie müssen die Google Cloud CLI autorisieren, Google Cloud-Ressourcen zu verwalten. 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 für die Verwendung auf einem einzelnen Computer schreiben.
Dienstkonto Empfohlen, wenn Sie die gcloud CLI installieren und einrichten im Rahmen der Maschinenbereitstellung in der Produktion oder zur Verwendung auf VM-Instanzen von Compute Engine, auf die alle Nutzer Zugriff haben an root.

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 zu autorisieren mit einem Nutzerkonto:

Befehl Beschreibung
gcloud init Autorisiert den Zugriff und führt weitere allgemeine 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, um auf Google Cloud zuzugreifen. Sie können beliebig viele Konten mit gespeicherten Anmeldedaten für eine einzelne Installation der gcloud CLI, aber nur eine -Konto zu einem bestimmten Zeitpunkt aktiv ist.

"gcloud init" ausführen

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

So führen Sie die Zugriffsautorisierung und andere 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

Durch Ausführen von gcloud auth login wird nur das Nutzerkonto autorisiert. Wenn Sie den Zugriff ohne weitere Einrichtungsschritte autorisieren möchten, verwenden Sie eine der folgenden Optionen.

  • Wenn Sie die gcloud CLI auf einem Computer mit einem Browser befindet, führen Sie diese Schritte aus.

    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 einem Computer autorisieren möchten, auf dem kein Browser installiert ist, und Sie die gcloud CLI auf einem anderen Computer 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 in die Befehlszeile eines anderen vertrauenswürdigen Computers ein und führen Sie ihn aus. Auf diesem Computer müssen sowohl ein Webbrowser als auch die gcloud CLI-Version 372.0 oder höher lokal installiert sein.

    4. Kopieren Sie die Ausgabe der langen URL vom Computer über den Webbrowser.

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

  • Wenn Sie die gcloud CLI auf einem Computer autorisieren möchten, auf dem hat keinen Browser und Sie können die gcloud CLI nicht installieren. auf einem anderen Computer mit einem Browser verwenden, verwenden Sie das Flag --no-launch-browser. Mit dem Flag --no-launch-browser wird verhindert, dass der Befehl automatisch einen Webbrowser öffnet.

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

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

    4. Kopieren Sie den Autorisierungscode vom Computer, der sich im Webbrowser befindet.

    5. Fügen Sie den Autorisierungscode auf dem ersten Computer in die Eingabeaufforderung „Bestätigungscode eingeben“ ein und drücken Sie die Eingabetaste, um die Autorisierung abzuschließen.

  • Wenn Sie bereits ein Zugriffstoken haben, können Sie es mit einer der folgenden Methoden an die gcloud CLI übergeben:

    • Speichern Sie das Zugriffstoken in einer Datei und legen Sie seinen Pfad über die --access-token-file melden.
    • Speichern Sie das Zugriffstoken in einer Datei und legen Sie seinen Pfad im auth/access_token_file Property.
    • Legen Sie die Umgebungsvariable CLOUDSDK_AUTH_ACCESS_TOKEN auf den Zugriffstoken-Wert.

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 mithilfe der Identitätsübernahme des Dienstkontos autorisieren

So autorisieren Sie die gcloud CLI, Imitierte Anmeldedaten des Dienstkontos verwenden Gehen Sie so vor:

  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 auf Projekte, Ordner und Organisationen verwalten.

    Diese vordefinierte Rolle enthält die iam.serviceAccounts.getAccessToken Berechtigung, was erforderlich ist, um die Identität eines Dienstkontos übernehmen.

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

  4. Führen Sie den folgenden Befehl aus, um die gcloud CLI mit Ihrer Nutzeridentität zu autorisieren gcloud auth login

  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 der gcloud CLI:

    gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
    
  6. So beenden Sie die Verwendung von Dienstkonto-Anmeldedaten, deren Identität übernommen wurde: gcloud CLI deaktivieren, heben Sie das Flag mit der config-Befehl der gcloud CLI:

    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 eines externen Anmeldedaten aus der Identitätsföderation von Arbeitslasten:

  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 folgenden Befehl aus, um Ihr Dienstkonto zu aktivieren: gcloud auth login durch den --cred-file-Flag:

    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

gcloud CLI mit einem Dienstkonto über einen Dienst autorisieren Kontoschlüssel verwenden, gehen Sie so vor:

  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 folgenden Befehl aus, um Ihr Dienstkonto zu aktivieren: gcloud auth login durch den --cred-file-Flag:

    gcloud auth login --cred-file=KEY_FILE
    

    Ersetzen Sie KEY_FILE durch den Pfad zu einem Dienstkontoschlüssel -Datei.

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 Konto wechseln möchten, das von der gcloud CLI auf einem pro Aufruf, überschreiben Sie das aktive Konto mithilfe der --account-Flag.

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. So können Sie beispielsweise Nutzer mit höheren Berechtigungen dazu zwingen, sich häufiger als reguläre Nutzer neu zu authentifizieren.

Weitere Informationen finden Sie im Hilfeartikel Sitzungsdauer für Google Cloud-Dienste festlegen.

Anmeldedaten für ein Konto widerrufen

Sie können Anmeldedaten widerrufen, wenn Sie den Zugriff durch die gcloud CLI über ein bestimmtes Konto aufrufen. Widerrufen Sie nicht Anmeldedaten, um zwischen Konten zu wechseln.

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 Maschinen zu widerrufen.

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 das Verwalten von Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) mit der Befehlsgruppe gcloud auth application-default. Führen Sie den folgenden Befehl aus, um Nutzeranmeldedaten für ADC verfügbar zu machen: gcloud auth application-default login:

gcloud auth application-default login

Diese Anmeldedaten sind 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