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/oauthtokenodersts.googleapis.com/v1/token) verwenden, wechseln Sie zucloudoauth.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_endpointundjwks_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:
- 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_uriunduserinfo_endpoint). - 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. - Autorisierungscode gegen Tokens eintauschen: Senden Sie eine
POST-Anfrage an dentoken_endpoint(/token), um den Autorisierungscode gegen ein OAuth 2.0-Zugriffstoken und ein OIDC-ID-Token (id_token) einzutauschen. - 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 desid_tokenzu prüfen. - Optional: Nutzerinformationen abrufen: Senden Sie eine
GET-Anfrage mit dem Zugriffstoken an denuserinfo_endpoint(/userinfo), um zusätzliche Nutzerprofilansprüche und Gruppenmitgliedschaften abzurufen.
Nächste Schritte
- Tokens mit der Cloud OAuth API austauschen
- Nutzerinformationen mit der Cloud OAuth API abrufen
- Unternehmensgruppen mit der Cloud OAuth API abrufen
- OAuth-Anwendungen für die Mitarbeiteridentitätsföderation verwalten
- Cloud OAuth REST API-Referenz