Funktionsweise von Standardanmeldedaten für Anwendungen

Auf dieser Seite werden die Standorte beschrieben, an denen Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) nach Anmeldedaten sucht. Wenn Sie wissen, wie ADC funktioniert, können Sie nachvollziehen, welche Anmeldedaten ADC verwendet und wie sie gefunden werden.

Application Default Credentials (ADC) ist eine Strategie, die von den Google-Authentifizierungsbibliotheken verwendet wird, um Anmeldedaten automatisch basierend auf der Anwendungsumgebung zu finden. Die Authentifizierungsbibliotheken stellen diese Anmeldedaten für Cloud-Clientbibliotheken und Google API-Clientbibliotheken zur Verfügung. Wenn Sie ADC verwenden, kann Ihr Code in einer Entwicklungs- oder Produktionsumgebung ausgeführt werden, ohne dass sich die Authentifizierung Ihrer Anwendung bei Google Cloud -Diensten und APIs ändert.

Informationen zum Bereitstellen von Anmeldedaten für ADC, einschließlich des Generierens einer lokalen ADC-Datei, finden Sie unter Standardanmeldedaten für Anwendungen einrichten.

Bestellung suchen

ADC sucht an folgenden Standorten nach Anmeldedaten:

  1. GOOGLE_APPLICATION_CREDENTIALS Umgebungsvariable
  2. Eine Anmeldedatendatei, die mit dem Befehl gcloud auth application-default login erstellt wurde
  3. Das angehängte Dienstkonto, das vom Metadatenserver zurückgegeben wird

Hinweis: Die Reihenfolge der Standorte, die ADC auf Anmeldedaten prüft, hängt nicht mit der relativen Leistung jedes Standorts zusammen. Informationen zu den besten Möglichkeiten für die Bereitstellung von Anmeldedaten für ADC finden Sie unter Standardanmeldedaten für Anwendungen einrichten.

Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS

Sie können die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS verwenden, um den Speicherort einer JSON-Datei mit Anmeldedaten anzugeben. Diese JSON-Datei kann einen der folgenden Dateitypen haben:

  • Eine Konfigurationsdatei für Anmeldedaten für die Mitarbeiteridentitätsföderation

    Mit der Mitarbeiteridentitätsföderation können Sie einen externen Identitätsanbieter zur Authentifizierung und Autorisierung von Nutzern für den Zugriff auf Google Cloud-Ressourcen verwenden. Weitere Informationen finden Sie unter Mitarbeiteridentitätsföderation in der Dokumentation zu Identity and Access Management (IAM).

  • Eine Konfigurationsdatei für Anmeldedaten für die Mitarbeiteridentitätsföderation

    Mit der Identitätsföderation von Arbeitslasten können Sie einen externen Identitätsanbieter zur Authentifizierung und Autorisierung von Arbeitslasten für den Zugriff aufGoogle Cloud -Ressourcen verwenden. Weitere Informationen finden Sie in der Dokumentation zu Identity and Access Management (IAM) unter Mit Clientbibliotheken, der gcloud CLI oder Terraform authentifizieren.

  • Ein Dienstkontoschlüssel

    Dienstkontoschlüssel stellen ein Sicherheitsrisiko dar und werden nicht empfohlen. Im Gegensatz zu den anderen Dateitypen mit Anmeldedaten können manipulierte Dienstkontoschlüssel von einem böswilligen Akteur ohne zusätzliche Informationen verwendet werden. Weitere Informationen finden Sie unter Best Practices für die Verwendung und Verwaltung von Dienstkontoschlüsseln.

Eine mit dem Befehl gcloud auth application-default login erstellte Anmeldedatendatei

Sie können Anmeldedaten für ADC bereitstellen, indem Sie den Befehl gcloud auth application-default login ausführen. Mit diesem Befehl wird eine JSON-Datei mit den von Ihnen angegebenen Anmeldedaten (entweder von Ihrem Nutzerkonto oder durch die Identitätsübernahme eines Dienstkontos) erstellt und an einem bekannten Speicherort in Ihrem Dateisystem abgelegt. Der Speicherort hängt von Ihrem Betriebssystem ab:

  • Linux, macOS: $HOME/.config/gcloud/application_default_credentials.json
  • Windows: %APPDATA%\gcloud\application_default_credentials.json

Die Anmeldedaten, die Sie für die ADC mithilfe der gcloud CLI angeben, unterscheiden sich von den gcloud-Anmeldedaten, also den Anmeldedaten, die von der gcloud CLI zur Authentifizierung bei Google Cloudverwendet werden. Weitere Informationen zu diesen beiden Gruppen von Anmeldedaten finden Sie unter Authentifizierungskonfiguration der gcloud CLI und ADC-Konfiguration .

Standardmäßig enthalten die Zugriffstokens, die aus einer mit Nutzeranmeldedaten erstellten lokalen ADC-Datei generiert wurden, den cloudweiten Bereich https://www.googleapis.com/auth/cloud-platform. Um Bereiche explizit anzugeben, verwenden Sie das Flag --scopes mit dem Befehl gcloud auth application-default login.

Wenn Sie Bereiche für Dienste außerhalb von Google Cloudwie Google Drive hinzufügen möchten, erstellen Sie eine OAuth-Client-ID und geben Sie sie mit dem --client-id-file-Flag an den gcloud auth application-default login-Befehl weiter, wobei Sie Ihre Bereiche mit dem --scopes-Flag angeben.

Das angehängte Dienstkonto

Bei vielen Google Cloud -Diensten können Sie ein Dienstkonto anhängen, mit dem Anmeldedaten für den Zugriff auf Google Cloud APIs bereitgestellt werden können. Wenn ADC keine Anmeldedaten findet, die es entweder in der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS oder am bekannten Speicherort für lokale Anmeldedaten des ADC verwenden kann, wird der Metadatenserver verwendet. um Anmeldedaten für den Dienst abzurufen, in dem der Code ausgeführt wird.

Die Verwendung der Anmeldedaten des angehängten Dienstkontos ist die bevorzugte Methode zum Suchen von Anmeldedaten in einer Produktionsumgebung auf Google Cloud. So verwenden Sie das angehängte Dienstkonto:

  1. Erstellen Sie ein vom Nutzer verwaltetes Dienstkonto.
  2. Gewähren Sie diesem Dienstkonto die möglichen IAM-Rollen mit den geringsten Berechtigungen.
  3. Hängen Sie das Dienstkonto an die Ressource an, in der Ihr Code ausgeführt wird.

Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonten erstellen und verwalten. Informationen zum Anhängen eines Dienstkontos finden Sie unter Dienstkonto an eine Ressource anhängen. Informationen zum Ermitteln der erforderlichen IAM-Rollen für Ihr Dienstkonto finden Sie unter Vordefinierte Rollen auswählen.

Nächste Schritte