Cloud OAuth API – Übersicht

Die Cloud OAuth API (cloudoauth.googleapis.com) bietet OAuth 2.0- und OpenID Connect (OIDC)-Tokenaustausch und -Authentifizierung für die Workforce Identity-Föderation.

Die Cloud OAuth API authentifiziert Google Cloud Nutzer. Mit dieser API können Ihre Anwendungen Nutzer zum Autorisierungsendpunkt (https://auth.cloud.google/authorize) weiterleiten, um Autorisierungscodes abzurufen. Ihre Anwendungen können dann externe Anmeldedaten, Autorisierungscodes oder Aktualisierungstokens gegen kurzlebige OAuth 2.0-Zugriffstokens und OIDC-ID-Tokens austauschen.

Die API basiert auf den Spezifikationen OAuth 2.0-Tokenaustausch (RFC 8693) und OAuth 2.0-Autorisierungs-Framework (RFC 6749).

Vergleich mit dem Security Token Service

In der Vergangenheit hat der Security Token Service (sts.googleapis.com) von Google Cloudden Tokenaustausch sowohl für die Mitarbeiteridentitätsföderation als auch für die Identitätsföderation von Arbeitslasten übernommen.

Die Cloud OAuth API unterstützt dieselben Token-Austausche wie der Security Token Service, ist aber für den Traffic der Workforce Identity-Föderation vorgesehen. Durch diese Trennung wird der Austausch von Workforce-Tokens vom Arbeitslast-Traffic isoliert. Das hilft, dienstübergreifende Unterbrechungen zu vermeiden, und ermöglicht es, die Workforce-Kapazität unabhängig vom Security Token Service zu skalieren. Folgen Sie je nach Integrationsstatus diesen Richtlinien:

  • Neue Integrationen: Leiten Sie Nutzer zum Autorisierungsendpunkt (https://auth.cloud.google/authorize) weiter und tauschen Sie Tokens über die Cloud OAuth API (cloudoauth.googleapis.com) aus.
  • Bestehende Integrationen: Wenn Sie den Security Token Service (sts.googleapis.com/v1/oauthtoken oder sts.googleapis.com/v1/token) verwenden, wechseln Sie zu cloudoauth.googleapis.com.

Unterstützte Endpunkte

In der folgenden Tabelle sind die Endpunkte aufgeführt, die Sie in Cloud OAuth API-Integrationen verwenden. Die meisten dieser Endpunkte sind organisationsbezogene (Einzelmandanten-)Endpunkte, die eine isolierte Schlüsselverwaltung und -erkennung ermöglichen, wenn Ihre Clientanwendung und Ressourcen auf eine einzelne Google Cloud-Organisation beschränkt sind.

Ersetzen Sie in den URLs der organisationsbezogenen Endpunkte ORGANIZATION_ID durch Ihre numerische Google CloudOrganisations-ID:

Endpunkt Methode URL Beschreibung
OpenID Connect-Erkennung GET https://auth.cloud.google/oidc/organizations/ORGANIZATION_ID/.well-known/openid-configuration Gibt die Metadaten der Anbieterkonfiguration für OpenID Connect Discovery 1.0 (Discovery-Dokument) für die Organisation zurück.
Autorisierung GET https://auth.cloud.google/authorize Leitet föderierte Nutzer zur Anmeldung bei ihrem Identitätsanbieter (IdP) weiter und gibt einen Autorisierungscode an den Weiterleitungs-URI Ihrer Anwendung zurück.
Tokenaustausch POST https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/token Tauscht Autorisierungscodes oder Aktualisierungstokens gegen OAuth 2.0-Zugriffstokens und OIDC-ID-Tokens aus.
JSON Web Key Set (JWKS) GET https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/.well-known/jwks.json Gibt die öffentlichen JSON Web Keys (JWKs) zurück, die zur Überprüfung der Signaturen von OIDC-ID-Tokens verwendet werden, die für die Organisation ausgestellt wurden.
Nutzerinformationen GET https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo Ruft OIDC-Standardanforderungen, benutzerdefinierte Verzeichnisanforderungen und Gruppenmitgliedschaften für den authentifizierten Nutzer ab.
Unternehmensgruppen GET https://cloudoauth.googleapis.com/v1/common/groups Ruft paginierte Unternehmensgruppenmitgliedschaften für den authentifizierten Nutzer ab.

Autorisierungsendpunkt

In einem OAuth 2.0- und OIDC-Autorisierungscode-Vorgang leitet Ihre Anwendung föderierte Nutzer zum einheitlichen Autorisierungsendpunkt von Google Cloud(https://auth.cloud.google/authorize) weiter, damit sie sich bei ihrem IdP anmelden können. Nach erfolgreicher Authentifizierung leitet der Autorisierungsendpunkt den Nutzer mit einem Autorisierungscode an den Weiterleitungs-URI Ihrer Anwendung weiter. Ihre Anwendung tauscht diesen Code dann am Tokenaustausch-Endpunkt gegen Tokens aus.

OIDC-Erkennungs- und JWKS-Endpunkte

Für Looker-OIDC-Integrationen bietet die Cloud OAuth API öffentliche, nicht authentifizierte Endpunkte auf Organisationsebene für die Clientkonfiguration und Tokenüberprüfung:

  • OpenID Connect-Discovery-Endpunkt: Stellt die Metadaten der Anbieterkonfiguration (Discovery-Dokument) für OpenID Connect Discovery 1.0 für die Organisation bereit. Das Discovery-Dokument enthält die issuer-Kennung der Organisation und die Endpunkt-URLs (authorization_endpoint, token_endpoint, userinfo_endpoint und jwks_uri). Außerdem werden die unterstützten Bereiche, Anforderungen, Signaturalgorithmen (RS256) und Proof Key for Code Exchange (PKCE)-Code-Challenge-Methoden (S256) aufgeführt.
  • JSON Web Key Set (JWKS)-Endpunkt: Stellt das öffentliche JSON Web Key Set (JWKS) für die Organisation bereit. Anwendungen verwenden die öffentlichen JSON Web Keys (JWKs) im Array keys, um die kryptografische Signatur eines OIDC-ID-Tokens (id_token) zu prüfen, das von der Cloud OAuth API ausgestellt wurde.

In einer typischen OIDC-Integration verwendet Ihre Anwendung diese Endpunkte in der folgenden Reihenfolge:

  1. Discovery-Dokument abrufen: Senden Sie eine GET-Anfrage an den OpenID Connect-Discovery-Endpunkt (/.well-known/openid-configuration) und lesen Sie die Endpunkt-URLs (authorization_endpoint, token_endpoint, jwks_uri und userinfo_endpoint).
  2. Autorisierungscode anfordern: Leiten Sie den Nutzer an authorization_endpoint (https://auth.cloud.google/authorize) weiter, damit er sich bei seinem IdP anmelden und einen Autorisierungscode an der Weiterleitungs-URI Ihrer Anwendung erhalten kann.
  3. Autorisierungscode gegen Tokens eintauschen: Senden Sie eine POST-Anfrage an den token_endpoint (/token), um den Autorisierungscode gegen ein OAuth 2.0-Zugriffstoken und ein OIDC-ID-Token (id_token) einzutauschen.
  4. ID-Token prüfen: Rufen Sie die öffentlichen Schlüssel der Organisation aus der jwks_uri (/.well-known/jwks.json) ab und verwenden Sie sie, um die kryptografische Signatur des id_token zu prüfen.
  5. Optional: Nutzerinformationen abrufen: Senden Sie eine GET-Anfrage mit dem Zugriffstoken an den userinfo_endpoint (/userinfo), um zusätzliche Nutzerprofilansprüche und Gruppenmitgliedschaften abzurufen.

Nächste Schritte