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 finden Sie unter Standardanmeldedaten für Anwendungen einrichten.

Bestellung suchen

ADC sucht an folgenden Standorten nach Anmeldedaten:

  1. GOOGLE_APPLICATION_CREDENTIALS Umgebungsvariable
  2. Mit der Google Cloud CLI eingerichtete Nutzeranmeldedaten
  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 zur Identitäts- und Zugriffsverwaltung (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 auf Google Cloud-Ressourcen verwenden. Weitere Informationen finden Sie in der Dokumentation zu Identitäts- und Zugriffsverwaltung (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.

Nutzeranmeldedaten, die über die gcloud CLI bereitgestellt werden

Mit dem Befehl gcloud auth application-default login können Sie Nutzeranmeldedaten für ADC bereitstellen. Mit diesem Befehl wird eine JSON-Datei mit den von Ihnen bereitgestellten Anmeldedaten (in der Regel aus Ihrem Nutzerkonto) 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 Cloud verwendet 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 Cloud wie Google Drive hinzufügen möchten, erstellen Sie eine OAuth-Client-ID und geben diese 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.

Zum Suchen von Anmeldedaten in einer Produktionsumgebung in Google Cloud sollten Sie die Anmeldedaten aus dem angehängten Dienstkonto verwenden. 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