Sie können OAuth-Clients und -Clientanmeldedaten erstellen, ansehen, aktualisieren und löschen, um Ihre OAuth-basierten Anwendungen in Google Cloudzu integrieren. Wenn Sie einen OAuth-Client registrieren, können sich föderierte Workforce-Nutzer in Ihren Anwendungen anmelden und auf Ressourcen von Google Cloud zugreifen.
Auf übergeordneter Ebene führen Sie die folgenden Schritte aus, um eine OAuth-basierte Anwendung zu integrieren:
- Erstellen Sie einen OAuth-Client.
- OAuth-Clientanmeldedaten erstellen
- Rufen Sie in den OAuth-Client-Anmeldedaten den Clientschlüssel ab. Informationen zu den Risiken im Zusammenhang mit dem Speichern und Abrufen des Clientschlüssels sowie zu Strategien, mit denen diese Risiken minimiert werden können, finden Sie unter Sicherheitsrisiken und Maßnahmen für OAuth-Clients und ‑Anmeldedaten.
Nachdem Sie diese Schritte ausgeführt haben, kann die OAuth-basierte Anwendung aufGoogle Cloud -Produkte und -Daten zugreifen. Sie können Nutzer zum Autorisierungsendpunkt (https://auth.cloud.google/authorize) weiterleiten, um einen Autorisierungscode zu erhalten. Anschließend können Sie die registrierten OAuth-Clientanmeldedaten verwenden, um Autorisierungscodes oder Aktualisierungstokens mit der Cloud OAuth API auszutauschen.
Hinweis
Sie müssen eine Google Cloud -Organisation eingerichtet haben.
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Sie müssen einen Mitarbeiteridentitätspool und einen Anbieter in der Organisation eingerichtet haben, in der Sie die OAuth-Anwendung registrieren. Informationen zum Einrichten der Mitarbeiteridentitätsföderation für Microsoft Entra ID, Okta und andere OIDC- und SAML 2.0-Anbieter
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle IAM OAuth Client Admin (roles/iam.oauthClientAdmin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Registrieren einer OAuth-Anwendung für Ihre Organisation benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
OAuth-Clients verwalten
In diesem Abschnitt wird gezeigt, wie Sie OAuth-Clients verwalten.
OAuth-Client erstellen
So erstellen Sie einen OAuth-Client:
gcloud
gcloud iam oauth-clients create APP_OAUTH_CLIENT_ID \
--project=PROJECT_ID \
--location=global \
--client-type="CONFIDENTIAL_CLIENT" \
--display-name="My OAuth application" \
--description="An application registration for MyApp" \
--allowed-scopes="https://www.googleapis.com/auth/cloud-platform" \
--allowed-redirect-uris="REDIRECT_URI" \
--allowed-grant-types="authorization_code_grant"
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_ID: eine Client-ID, die diesen OAuth-Client darstellt.PROJECT_ID: die ID des Projekts, in dem Sie den Mitarbeiteridentitätspool und den Anbieter erstellt haben. Das Projekt muss in der Organisation erstellt werden, in der Ihr Mitarbeiteridentitätspool und Anbieter erstellt wurden.REDIRECT_URI: der Weiterleitungs-URI für die OAuth-Anwendung, z. B.https://myapp.com/signin-callback.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
-d "{ \
'allowedGrantTypes': ['AUTHORIZATION_CODE_GRANT'], \
'allowedRedirectUris': ['REDIRECT_URI'], \
'allowedScopes': ['https://www.googleapis.com/auth/cloud-platform'], \
'clientType': 'CONFIDENTIAL_CLIENT', \
'description': 'My OAuth client description', \
'disabled': false, \
'displayName': 'My OAuth client'}" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients\?oauthClientId\=APP_OAUTH_CLIENT_ID
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie den Mitarbeiteridentitätspool und den Anbieter erstellt haben. Das Projekt muss in der Organisation erstellt werden, in der Ihr Mitarbeiteridentitätspool und Anbieter erstellt wurden.REDIRECT_URI: der Weiterleitungs-URI für die OAuth-Anwendung, z. B.https://myapp.com/signin-callback.APP_OAUTH_CLIENT_ID: eine Client-ID, die diesen OAuth-Client darstellt.
Nachdem Sie die Anwendung registriert haben, erstellen Sie die OAuth-Client-Anmeldedaten und rufen das Secret ab, das die OAuth-Anwendung für den Zugriff aufGoogle Cloudverwendet.
OAuth-Clients auflisten
Führen Sie den folgenden Befehl aus, um registrierte OAuth-Clients aufzulisten:
gcloud
gcloud iam oauth-clients list \
--project=PROJECT_ID \
--location=global
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients
Ersetzen Sie PROJECT_ID durch die ID des Projekts, in dem Ihre OAuth-Anwendungen registriert sind.
OAuth-Client beschreiben
Führen Sie den folgenden Befehl aus, um einen OAuth-Client zu beschreiben:
gcloud
gcloud iam oauth-clients describe APP_OAUTH_CLIENT_ID \
--project PROJECT_ID \
--location global
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_ID: die ID des OAuth-Clients, den Sie beschreiben möchtenPROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert haben
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die ID des OAuth-Clients, den Sie beschreiben möchten
OAuth-Client aktualisieren
Führen Sie den folgenden Befehl aus, um einen OAuth-Client zu aktualisieren.
gcloud
gcloud iam oauth-clients update APP_OAUTH_CLIENT_ID \
--project=PROJECT_ID \
--location=global \
--allowed-redirect-uris="REDIRECT_URI"
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_ID: die OAuth-Client-ID für den OAuth-Client, den Sie aktualisieren möchtenPROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenREDIRECT_URI: der Weiterleitungs-URI für die OAuth-Anwendung
Wenn Sie andere Felder aktualisieren möchten, verwenden Sie die Flags, die in gcloud iam oauth-clients update aufgeführt sind.
REST
curl -d'{"allowedRedirectUris":"REDIRECT_URI"}' \
-H "Content-Type: application/json" -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID?update_mask=allowed_redirect_uris
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die OAuth-Client-ID für den OAuth-Client, den Sie aktualisieren möchtenREDIRECT_URI: der Weiterleitungs-URI für den OAuth-Client
Wenn Sie andere Felder aktualisieren möchten, legen Sie für update_mask die Feldnamen fest, die in gcloud iam oauth-clients update aufgeführt sind.
OAuth-Client löschen
Führen Sie den folgenden Befehl aus, um einen OAuth-Client zu löschen:
gcloud
gcloud iam oauth-clients delete APP_OAUTH_CLIENT_ID \
--project PROJECT_ID \
--location global
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_ID: die zu löschende OAuth-Client-IDPROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert haben
REST
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die zu löschende OAuth-Client-ID
OAuth-Clientanmeldedaten verwalten
In diesem Abschnitt erfahren Sie, wie Sie OAuth-Clientanmeldedaten für den OAuth-Client verwalten.
OAuth-Clientanmeldedaten erstellen
Führen Sie den folgenden Befehl aus, um OAuth-Clientanmeldedaten zu erstellen:
gcloud
gcloud iam oauth-clients credentials create APP_OAUTH_CLIENT_CREDENTIAL_ID \
--oauth-client=APP_OAUTH_CLIENT_ID \
--display-name='My OAuth client credential' \
--location='global'
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_CREDENTIAL_ID: eine ID, die diese Client-Anmeldedaten darstelltAPP_OAUTH_CLIENT_ID: die OAuth-Client-ID, die Sie durch Beschreiben der registrierten OAuth-Clientanwendung erhalten können.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
-d "{'disabled': false, 'displayName': 'My OAuth client credential'}" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID/credentials\?oauthClientCredentialId=APP_OAUTH_CLIENT_CREDENTIAL_ID
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die OAuth-Client-ID, die Sie durch Beschreiben der registrierten OAuth-Clientanwendung erhalten können.APP_OAUTH_CLIENT_CREDENTIAL_ID: eine ID, die diese Client-Anmeldedaten darstellt
OAuth-Clientanmeldedaten auflisten
Führen Sie den folgenden Befehl aus, um OAuth-Clientanmeldedaten aufzulisten:
gcloud
gcloud iam oauth-clients credentials list \
--oauth-client=APP_OAUTH_CLIENT_ID \
--project=PROJECT_ID \
--location=global
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_ID: die OAuth-Client-ID, für die Anmeldedaten aufgelistet werden sollenPROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert haben
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/$PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID/credentials
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die OAuth-Client-ID, für die Anmeldedaten aufgelistet werden sollen
OAuth-Clientanmeldedaten beschreiben
Führen Sie den folgenden Befehl aus, um die Anmeldedaten eines OAuth-Clients zu beschreiben. Sie können den Clientschlüssel abrufen, indem Sie die Ausgabe prüfen.
gcloud
gcloud iam oauth-clients credentials describe APP_OAUTH_CLIENT_CREDENTIAL_ID \
--oauth-client=APP_OAUTH_CLIENT_ID \
--location='global'
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_CREDENTIAL_ID: der Weiterleitungs-URI für den OAuth-ClientAPP_OAUTH_CLIENT_ID: die OAuth-Client-ID, die Sie durch die Beschreibung der Registrierung der Clientanwendung erhalten haben.
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID/credentials/APP_OAUTH_CLIENT_CREDENTIAL_ID
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_CREDENTIAL_ID: der Weiterleitungs-URI für den OAuth-ClientAPP_OAUTH_CLIENT_ID: die OAuth-Client-ID, die Sie durch die Beschreibung der Registrierung der Clientanwendung erhalten haben.
In der Ausgabe ist clientSecret der Clientschlüssel. Dies ist das Secret, das die OAuth-Anwendung für den Zugriff auf Google Cloudverwendet.
OAuth-Clientanmeldedaten aktualisieren
Führen Sie den folgenden Befehl aus, um OAuth-Clientanmeldedaten zu aktualisieren:
gcloud
gcloud iam oauth-clients credentials update APP_OAUTH_CLIENT_CREDENTIAL_ID \
--client-id=APP_OAUTH_CLIENT_ID \
--display-name="My new credential name" \
--location=global
REST
curl -d'{"displayName":"My new credential name"}' -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID/credentials/APP_OAUTH_CLIENT_CREDENTIAL_ID?update_mask=display_name
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_CREDENTIAL_ID: der Weiterleitungs-URI für den OAuth-ClientAPP_OAUTH_CLIENT_ID: die OAuth-Client-ID, die Sie durch die Beschreibung der Registrierung der Clientanwendung erhalten haben.
OAuth-Clientanmeldedaten deaktivieren
Bevor Sie OAuth-Client-Anmeldedaten löschen können, müssen Sie sie deaktivieren. Führen Sie den folgenden Befehl aus, um die OAuth-Client-Anmeldedaten zu deaktivieren:
gcloud
gcloud iam oauth-clients credentials update APP_OAUTH_CLIENT_CREDENTIAL_ID \
--oauth-client=APP_OAUTH_CLIENT_ID \
--disabled \
--project=PROJECT_ID \
--location=global
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die OAuth-Client-IDAPP_OAUTH_CLIENT_CREDENTIAL_ID: die ID der zu deaktivierenden Client-Anmeldedaten
REST
curl -d'{"disabled":"true"}' \
-H "Content-Type: application/json" -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID/credentials/APP_OAUTH_CLIENT_CREDENTIAL_ID?update_mask=disabled
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die OAuth-Client-IDAPP_OAUTH_CLIENT_CREDENTIAL_ID: die ID der zu deaktivierenden Client-Anmeldedaten
OAuth-Client-Anmeldedaten löschen
Führen Sie den folgenden Befehl aus, um die Anmeldedaten eines OAuth-Clients zu löschen:
gcloud
gcloud iam oauth-clients credentials delete APP_OAUTH_CLIENT_CREDENTIAL_ID \
--project=PROJECT_ID \
--oauth-client=APP_OAUTH_CLIENT_ID \
--location=global
Ersetzen Sie Folgendes:
APP_OAUTH_CLIENT_CREDENTIAL_ID: die OAuth-Client-IDPROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die ID der Client-Anmeldedaten
REST
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://iam.googleapis.com/v1/projects/PROJECT_ID/locations/global/oauthClients/APP_OAUTH_CLIENT_ID/credentials/APP_OAUTH_CLIENT_CREDENTIAL_ID
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, in dem Sie Ihre OAuth-Anwendung registriert habenAPP_OAUTH_CLIENT_ID: die Client-Anmeldedaten-IDAPP_OAUTH_CLIENT_CREDENTIAL_ID: die OAuth-Client-ID
Nächste Schritte
- Tokens mit der Cloud OAuth API austauschen
- Cloud OAuth API – Übersicht
- Identity-Aware Proxy mit Workforce Identity-Föderation