Authentifizierung bei Google

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

In diesem Dokument werden einige wichtige Authentifizierungskonzepte erläutert. Außerdem erfahren Sie, wo Sie Hilfe bei der Implementierung oder Fehlerbehebung bei der Authentifizierung erhalten. Der Schwerpunkt der Authentifizierungsdokumentation liegt auf Google Cloud-Diensten. Die Liste der Authentifizierungsanwendungsfälle und das Einführungsmaterial auf dieser Seite enthalten jedoch Anwendungsfälle für andere Google-Produkte. ebenfalls verwenden.

Einführung

Bei der Authentifizierung wird Ihre Identität mithilfe von Anmeldedaten bestätigt. Bei der Authentifizierung wird geprüft, ob Sie es sind.

Google bietet viele APIs und Dienste, für die eine Authentifizierung erforderlich ist. Google bietet auch eine Reihe von Diensten zum Hosten von Anwendungen, die von unseren Kunden geschrieben wurden. Diese Anwendungen müssen auch die Identität ihrer Nutzer bestimmen.

Ich möchte… Informationen
Authentifizieren Sie sich mit meiner Programmiersprache bei einer Anwendung in einem Google Cloud-Dienst. Richten Sie die Standardanmeldedaten für Anwendungen ein und verwenden Sie dann eine der Cloud-Clientbibliotheken.
Authentifizieren Sie sich bei einer Anwendung, die in Cloud Run oder Cloud Functions ausgeführt wird. Rufen Sie ein OIDC-ID-Token (OpenID Connect) ab und geben Sie es mit Ihrer Anfrage an.
Nutzerauthentifizierung für eine Anwendung implementieren, die auf Dienste oder Ressourcen von Google oder Google Cloud zugreift. Einen Vergleich der Optionen finden Sie unter Anwendungsnutzer authentifizieren.
Einige gcloud-Befehle oder Google Cloud REST API-Aufrufe in meiner lokalen Entwicklungsumgebung testen Richten Sie die Standardanmeldedaten für Anwendungen mit Ihren Anmeldedaten ein. Sie können dann ein Befehlszeilentool wie curl verwenden, um die REST API aufzurufen.
Hilfe bei einem anderen Anwendungsfall für die Authentifizierung Weitere Informationen finden Sie auf der Seite Authentifizierungsanwendungsfälle.
Liste der Produkte, die Google im Bereich der Identitäts- und Zugriffsverwaltung bereitstellt Weitere Informationen finden Sie auf der Seite Google-Produkte für die Identitäts- und Zugriffsverwaltung.

Authentifizierungstypen

Für den Zugriff auf die meisten Ressourcen und Anwendungen ist eine Authentifizierung erforderlich. In dieser Dokumentation werden technische Fachkräfte unterstützt, die Anwendungscode mit einem der folgenden Ziele erstellen:

oauth 2.0

Google APIs implementieren und erweitern das OAuth 2.0-Framework. Das OAuth 2.0-Framework beschreibt verschiedene Authentifizierungsabläufe oder Authentifizierungsansätze. Im Allgemeinen stellt die Anwendung die Anmeldedaten, die ein Hauptkonto (entweder ein Nutzer oder ein Dienstkonto) darstellen, einem Zwischenmodul namens Autorisierungsserver zur Verfügung. Der Autorisierungsserver antwortet mit einem Token, mit dem sich die Anwendung beim Dienst authentifizieren und auf Ressourcen zugreifen kann. Das Token enthält einen oder mehrere Bereiche, die den Zugriff der Anwendung widerspiegeln. Die Anwendung stellt das Token dann dem Ressourcenserver bereit, um Zugriff auf die Ressourcen zu erhalten.

Autorisierung für Google Cloud-Dienste

Google Cloud-Dienste verwenden zur Authentifizierung die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM). IAM bietet eine detaillierte Kontrolle nach Hauptkonto und Ressource. Wenn Sie sich bei Google Cloud-Diensten authentifizieren, verwenden Sie im Allgemeinen einen Bereich, der alle Google Cloud-Dienste enthält (https://www.googleapis.com/auth/cloud-platform).

OAuth 2.0-Bereiche können eine zweite Schutzebene bieten, die nützlich ist, wenn Ihr Code in einer Umgebung ausgeführt wird, in der die Tokensicherheit ein Problem darstellt, z. B. eine mobile App. In diesem Szenario können Sie detaillierte Bereiche verwenden, um das Risiko bei einem manipulierten Token zu reduzieren. OAuth 2.0-Bereiche werden auch verwendet, um den Zugriff auf Nutzerdaten zu autorisieren.

Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC)

ADC ist eine Strategie, die von Cloud-Clientbibliotheken und Google API-Clientbibliotheken verwendet wird, um Anmeldedaten automatisch basierend auf der Anwendungsumgebung zu finden. Diese Anmeldedaten werden zum Authentifizieren bei den Google Cloud APIs verwendet. Wenn Sie ADC einrichten und eine Clientbibliothek 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.

Wenn Sie Code schreiben, der Google Cloud-Dienste verwenden muss, sollten Sie nach Möglichkeit ADC verwenden. Die Verwendung von Standardanmeldedaten für Anwendungen kann Ihren Entwicklungsprozess vereinfachen, da Sie damit denselben Authentifizierungscode in verschiedenen Umgebungen verwenden können.

Zur Konfiguration von ADC geben Sie Ihre Anmeldedaten abhängig davon an, wo Ihr Code ausgeführt werden soll. Nachdem Sie Ihre Anmeldedaten in ADC angegeben haben, sucht ADC automatisch Anmeldedaten und ruft ein Token im Hintergrund ab, sodass Ihr Authentifizierungscode in verschiedenen Umgebungen ausgeführt werden kann, ohne Änderung. Beispielsweise kann sich dieselbe Version Ihres Codes bei der Ausführung auf einer Entwicklungs-Workstation oder Compute Engine bei Google Cloud APIs authentifizieren.

Terminologie

Die folgenden Begriffe sind für die Authentifizierung und Autorisierung wichtig.

Authentifizierung

Bei der Authentifizierung wird die Identität des Hauptkontos bestimmt, das auf eine Ressource zugreifen möchte.

Autorisierung

Die Autorisierung dient dazu festzustellen, ob das Hauptkonto oder die Anwendung, die auf eine Ressource zugreifen möchte, für diese Zugriffsebene autorisiert wurde.

Anmeldedaten

Zur Authentifizierung sind Anmeldedaten ein digitales Objekt, das einen Identitätsnachweis dient. Passwörter, PINs und biometrische Daten können je nach Anwendungsanforderungen als Anmeldedaten verwendet werden. Wenn Sie sich beispielsweise in Ihrem Google-Konto anmelden, geben Sie Ihr Passwort an und erfüllen alle Anforderungen für die Bestätigung in zwei Schritten als Nachweis, dass das Konto tatsächlich Ihnen gehört und Sie nicht gefälscht werden durch ein böswilliger Akteur.

Tokens werden manchmal als Anmeldedaten bezeichnet. In dieser Dokumentation werden sie jedoch als digitale Objekte bezeichnet, die als Nachweis dafür dienen, dass der Aufrufer die richtigen Anmeldedaten bereitstellt. Die Tokens selbst sind jedoch keine Anmeldedaten.

Der Typ der Anmeldedaten, die Sie angeben müssen, hängt von der Authentifizierung ab. Die folgenden Typen von Anmeldedaten können in der Google Cloud Console erstellt werden:

  • API-Schlüssel

    Im Gegensatz zu anderen Anmeldedaten identifizieren API-Schlüssel kein Hauptkonto. API-Schlüssel stellen ein Google Cloud-Projekt für Abrechnungs- und Kontingentzwecke bereit.

    Viele Google APIs akzeptieren keine API-Schlüssel. Weitere Informationen zu API-Schlüsseln finden Sie unter API-Schlüssel.

  • OAuth Client-IDs

    OAuth-Client-IDs werden zum Identifizieren einer Anwendung bei Google verwendet. Das ist erforderlich, wenn Sie auf Ressourcen Ihrer Endnutzer zugreifen möchten. Diese werden auch als dreibeiniges OAuth (3LO) bezeichnet. Weitere Informationen zum Abrufen und Verwenden einer OAuth-Client-ID finden Sie unter OAuth 2.0 einrichten.

Hauptkonto

Ein Hauptkonto ist eine Identität, der Zugriff auf eine Ressource gewährt werden kann. Für die Authentifizierung unterstützen Google APIs zwei Arten von Hauptkonten: Nutzerkonten und Dienstkonten.

Ob Sie ein Nutzerkonto oder ein Dienstkonto zur Authentifizierung verwenden, hängt von Ihrem Anwendungsfall ab. Sie können beide verwenden, jeweils in verschiedenen Phasen Ihres Projekts oder in verschiedenen Entwicklungsumgebungen.

Nutzerkonten

Nutzerkonten stellen einen Entwickler, Administrator oder eine andere Person dar, die mit Google APIs und Diensten interagiert.

Nutzerkonten werden als Google-Konten verwaltet, entweder mit Google Workspace oder mit Cloud Identity. Sie können auch Nutzerkonten sein, die von einem externen Identitätsanbieter verwaltet und mit der Workforce Identity-Föderation verbunden sind.

Mit einem Nutzerkonto können Sie sich auf folgende Weise bei Google APIs und Diensten authentifizieren:

Dienstkonten

Dienstkonten sind Konten, die keinen menschlichen Nutzer darstellen. Sie bieten eine Möglichkeit zur Authentifizierung und Autorisierung, wenn ein Mensch nicht direkt beteiligt ist, z. B. wenn eine Anwendung auf Google Cloud-Ressourcen zugreifen muss. Dienstkonten werden von IAM verwaltet.

In der folgenden Liste finden Sie einige Methoden zur Verwendung eines Dienstkontos zur Authentifizierung bei Google APIs und Diensten, geordnet vom sichersten bis zum am wenigsten sicheren.

Token

Für die Authentifizierung und Autorisierung ist ein Token ein digitales Objekt, das zeigt, dass ein Aufrufer die richtigen Anmeldedaten bereitgestellt hat, die für dieses Token ausgetauscht wurden. Das Token enthält Informationen zur Identität des Hauptkontos, das die Anfrage stellt, und zu der Art des Zugriffs, für den er autorisiert ist.

Tokens können sich wie Hotelschlüssel vorstellen. Wenn Sie in ein Hotel einchecken und die entsprechende Dokumentation am Hotelbuchungsbeleg vorlegen, erhalten Sie einen Schlüssel, mit dem Sie auf bestimmte Hotelressourcen zugreifen können. Mit dem Schlüssel können Sie beispielsweise Zugriff auf Ihr Zimmer und den Gastaufzug, aber nicht auf einen anderen Raum oder den Aufzug des Dienstes gewähren.

Mit Ausnahme von API-Schlüsseln unterstützen Google APIs Anmeldedaten nicht direkt. Ihre Anwendung muss ein Token abrufen oder generieren und es der API bereitstellen. Es gibt verschiedene Arten von Tokens. Weitere Informationen finden Sie unter Tokentypen.

Arbeitslast und Mitarbeiter

Google Cloud Identity- und Zugriffsprodukte ermöglichen den Zugriff auf Google-Dienste und -Ressourcen sowohl für den programmatischen Zugriff als auch für menschliche Nutzer. Google verwendet die Begriffe Arbeitslast für den programmatischen Zugriff und Mitarbeiter für den Nutzerzugriff.

Mit der Workload Identity-Föderation können Sie Zugriff auf Arbeitslasten außerhalb von Google gewähren, ohne Dienstkontoschlüssel erstellen und verwalten zu müssen.

Mit der Workforce Identity-Föderation können Sie einen externen Identitätsanbieter (IdP) verwenden, um eine Gruppe von Nutzern, z. B. Mitarbeiter, Partner und Auftragnehmer, mithilfe von IAM zu authentifizieren und zu autorisieren, damit die Nutzer auf Google Cloud-Dienste zugreifen können.

Nächste Schritte