In dieser Anleitung wird erläutert, dass die IAP OAuth Admin API eingestellt wird und wie Sie optional OAuth-Clients, die mit der API erstellt wurden, zu benutzerdefinierten OAuth-Clients migrieren können. Weitere Informationen zu den Vorteilen der Verwendung benutzerdefinierter OAuth-Clients, einschließlich benutzerdefinierter Marken, finden Sie unter OAuth-Konfiguration anpassen, um IAP zu aktivieren.
Wenn Sie die IAP OAuth Admin API nicht verwenden, hat diese Änderung keine Auswirkungen auf Sie.
Anstatt OAuth 2.0-Clients manuell zu verwalten, verwendet IAP automatisch einen von Google verwalteten OAuth-Client.
Informationen dazu, ob in Ihrem Projekt OAuth Admin APIs verwendet werden, finden Sie unter Verwendung von OAuth Admin APIs prüfen. Wenn in Ihrem Projekt OAuth Admin APIs verwendet werden, müssen Sie entweder die Migrationsanleitung in diesem Dokument befolgen oder Alternativen zur OAuth Admin API verwenden.
Was sich ändert
Wir stellen die IAP OAuth Admin API ein. Sie umfasst die folgenden APIs für die manuelle Verwaltung von OAuth-Clients und ‑Marken:
Anstatt OAuth 2.0-Clients manuell zu verwalten, verwendet IAP einen von Google verwalteten OAuth-Client. Das vereinfacht die OAuth-Client-Verwaltung, reduziert manuelle Fehler und optimiert Ihre Bereitstellungsprozesse.
Damit Sie weiterhin benutzerdefiniertes Branding anbieten können, empfehlen wir Ihnen, benutzerdefinierte OAuth-Clients zu konfigurieren.
Was sich nicht ändert
Wenn Sie die IAP OAuth Admin API nicht verwenden, hat diese Änderung keine Auswirkungen auf Sie.
Diese Einstellung betrifft nicht OAuth-Clients, die Sie manuell mit der Compute Engine API, der App Engine API oder der Google Cloud -Konsole konfigurieren.
Sie können weiterhin neue OAuth-Marken- und Clientkonfigurationen erstellen und über die Google Cloud -Konsole verwalten. Bestehende Konfigurationen werden weiterhin vollständig unterstützt.
Nutzung von OAuth Admin APIs prüfen
So stellen Sie fest, ob in Ihrem Projekt IAP OAuth Admin APIs verwendet werden:
Rufen Sie in der Google Cloud Console die Seite IAP API Usage (IAP-API-Nutzung) auf.
Wählen Sie Ihr Projekt aus. Wählen Sie das Projekt aus, das Sie auf die Verwendung der OAuth Admin API prüfen möchten.
Sehen Sie sich den Abschnitt Diagramme an.
Wählen Sie im Bereich „Grafiken“ die Option Traffic nach API-Methode aus.
Suchen Sie nach API-Methoden, die mit dem folgenden Präfix beginnen:
google.cloud.iap.v1.IdentityAwareProxyOAuthService.*
Wenn Sie Methoden mit diesem Präfix sehen, werden im Projekt IAP-OAuth-Dienstmethoden verwendet.
Detaillierte Beschreibung
Ab dem 22. Januar 2025 ist die IAP OAuth 2.0 Admin API, mit der ein IAP OAuth 2.0-Client erstellt wird, eingestellt. Die IAP OAuth 2.0 Admin API ist nicht mehr erforderlich, da Sie keine OAuth-Clients mehr konfigurieren müssen. IAP verwendet jetzt standardmäßig oder wenn kein OAuth 2.0-Client explizit konfiguriert ist einen von Google verwalteten OAuth-Client für den Browserzugriff. Der von Google verwaltete OAuth 2.0-Client schränkt den Zugriff auf Anwendungen mit IAP-Käufen auf Nutzer innerhalb derselben Organisation ein, wenn sie über einen Browser auf diese Anwendungen zugreifen.
Da die IAP OAuth 2.0 Admin API eingestellt wird, können Sie diese API nicht mehr zum Erstellen oder Verwalten von OAuth-Clients verwenden. OAuth-Clients, die vor dieser Einstellung erstellt wurden, werden nicht ungültig. Sie können weiterhin zuvor erstellte OAuth-Clients verwenden und diese Clients über dieGoogle Cloud -Konsole verwalten.
Wenn Sie Anwendungen mit OAuth-Clients konfiguriert haben, die mit der IAP 2.0 Admin API oder auf andere Weise erstellt wurden, funktionieren diese Anwendungen weiterhin. An den Anwendungen sind keine Änderungen erforderlich. Wenn Ihre Automatisierungsskripts jedoch die IAP OAuth 2.0 Admin API verwenden, um neue Clients zu konfigurieren oder Clientgeheimnisse für vorhandene Clients abzurufen, müssen Sie die Skripts aktualisieren, damit sie die IAP OAuth 2.0 Admin API nicht mehr verwenden.
Informationen zum Konfigurieren von von Google verwalteten OAuth 2.0-Clients für Ihre Anwendungen finden Sie unter Programmatischer Zugriff.
Wenn Sie eine Anforderung haben, die vom von Google verwalteten OAuth 2.0-Client nicht erfüllt wird, können Sie einen einzelnen OAuth-Client für mehrere IAP-Anwendungen freigeben. So müssen Sie nicht für jede neue Anwendung manuell einen Client erstellen.
Erforderliche Aktionen
Automatisierungsskripts aktualisieren
Wenn Sie Terraform oder andere Tools verwenden, um die Konfiguration von IAP zu automatisieren, und die IAP OAuth 2.0 Admin API nutzen, müssen Sie die Automatisierungsskripts aktualisieren, damit ein vorab erstellter Client verwendet wird oder der von Google verwaltete OAuth-Client mit IAP genutzt wird.
Programmgesteuerten Zugriff für Anwendungen mit von Google verwalteten OAuth 2.0-Clients konfigurieren
Wenn Sie bereits Anwendungen haben, die durch IAP geschützt sind, und Sie diese mit dem von Google verwalteten OAuth 2.0-Client migrieren möchten, können Sie den programmatischen Zugriff für diese Anwendungen konfigurieren, indem Sie OAuth 2.0-Clients auf die Zulassungsliste setzen.
IAP-fähige Ressourcen migrieren
Wenn Sie Ihre Ressourcen migrieren möchten, damit sie den von Google verwalteten OAuth 2.0-Client verwenden, folgen Sie der Anleitung für den jeweiligen Ressourcentyp, z. B. eine Compute Engine-Ressource.
IAP-fähige App Engine-Ressourcen migrieren
Führen Sie die Schritte in diesem Abschnitt aus, um App Engine-Ressourcen zu migrieren, für die IAP aktiviert und ein OAuth 2.0-Client konfiguriert ist.
gcloud
Bevor Sie mit den Schritten fortfahren, müssen Sie dafür sorgen, dass Sie eine aktuelle Version der gcloud CLI haben. Eine Anleitung zur Installation der gcloud CLI finden Sie unter gcloud CLI installieren.
Authentifizieren Sie sich mit der Google Cloud CLI.
gcloud auth loginKlicken Sie auf die angezeigte URL und melden Sie sich an.
Kopieren Sie nach der Anmeldung den angezeigten Bestätigungscode und fügen Sie ihn in die Befehlszeile ein.
Führen Sie den folgenden Befehl aus, um das Projekt anzugeben, das die Anwendungen enthält, die Sie weiterhin mit IAP schützen möchten.
gcloud config set project PROJECT_IDFühren Sie den folgenden Befehl aus, um die konfigurierte OAuth 2.0-Client-ID abzurufen.
gcloud app describe --format="value(iap.oauth2ClientId)"Speichern Sie die Client-ID aus dem vorherigen Befehl, wenn Sie programmatischen Zugriff zulassen möchten.
Wenn Sie den OAuth 2.0-Client für den programmatischen Zugriff auf die Zulassungsliste setzen möchten, führen Sie einen Lese-, Aktualisierungs- und Schreibvorgang für die IAP-Einstellungen-API aus.
gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yamlAktualisieren Sie die Datei
settings.yamlund fügen Sie die zuvor abgerufene OAuth 2.0-Client-ID unterprogrammaticClientsein, wie im folgenden Beispiel gezeigt.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDNeue Einstellungen auf die App Engine-Anwendung anwenden
gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_IDFühren Sie den folgenden Befehl aus, um Ihre Apps zu migrieren.
gcloud iap web enable --resource-type=app-engine
API
Führen Sie den folgenden Befehl aus, um die konfigurierte OAuth 2.0-Client-ID abzurufen.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://appengine.googleapis.com/v1/apps/PROJECT_ID?fields=iap"Führen Sie den folgenden Befehl aus, um vorhandene IAP-Einstellungen in eine
settings.json-Datei abzurufen.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings" > settings.jsonAktualisieren Sie die Datei
settings.json, um zuvor gespeicherte CLIENT_ID als programmatischen Client hinzuzufügen.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Führen Sie den folgenden Befehl aus, um die Einstellungen für IAP zu aktualisieren.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d "@settings.json" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings"Führen Sie den folgenden Befehl aus, um eine
settings.json-Datei vorzubereiten.cat << EOF > settings.json { "iap": { "enabled":true } } EOFFühren Sie den folgenden Befehl aus, um Ihre Apps zu migrieren.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
IAP-fähige Compute Engine-Ressourcen migrieren
Führen Sie die Schritte in diesem Abschnitt aus, um Compute Engine-Ressourcen zu migrieren, für die IAP aktiviert und ein OAuth 2.0-Client konfiguriert ist.
gcloud
Bevor Sie mit den Schritten fortfahren, müssen Sie dafür sorgen, dass Sie eine aktuelle Version der gcloud CLI haben. Eine Anleitung zur Installation der gcloud CLI finden Sie unter gcloud CLI installieren.
Authentifizieren Sie sich mit der Google Cloud CLI.
gcloud auth loginKlicken Sie auf die angezeigte URL und melden Sie sich an.
Kopieren Sie nach der Anmeldung den angezeigten Bestätigungscode und fügen Sie ihn in die Befehlszeile ein.
Führen Sie den folgenden Befehl aus, um das Projekt anzugeben, das die Anwendungen enthält, die Sie weiterhin mit IAP schützen möchten.
gcloud config set project PROJECT_IDFühren Sie den folgenden Befehl aus, um die konfigurierte OAuth 2.0-Client-ID abzurufen.
Globaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --global \ --format="value(iap.oauth2ClientId)"Regionaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME \ --format="value(iap.oauth2ClientId)"Speichern Sie die Client-ID aus dem vorherigen Befehl, wenn Sie programmatischen Zugriff zulassen möchten.
Wenn Sie einen OAuth 2.0-Client für den programmatischen Zugriff auf die Zulassungsliste setzen möchten, führen Sie einen Lese-, Aktualisierungs- und Schreibvorgang für die IAP Settings API aus.
Globaler Bereich
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME > settings.yamlRegionaler Bereich
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME > settings.yamlAktualisieren Sie die Datei
settings.yamlund fügen Sie die zuvor abgerufene OAuth 2.0-Client-ID unterprogrammaticClientsein, wie im folgenden Beispiel gezeigt:accessSettings: oauthSettings: programmaticClients: - CLIENT_IDWenden Sie die neuen Einstellungen auf die Compute Engine-Anwendung an:
Globaler Bereich
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME
Regionaler Bereich
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME
Führen Sie zum Migrieren Ihrer Anwendungen entweder den globalen oder den regionalen Befehl aus.
Globaler Bereich
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "Regionaler Bereich
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION_NAME \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "Führen Sie den folgenden Befehl mit globalem oder regionalem Bereich aus, um zu prüfen, ob die OAuth-Client-ID nicht festgelegt ist. Prüfen Sie nach der Ausführung des Befehls die Ausgabe, um sicherzustellen, dass das Feld „OAuth-Client-ID“ leer ist.
Globaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --globalRegionaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME
API
Führen Sie den folgenden Befehl aus, um die konfigurierte OAuth 2.0-Client-ID abzurufen.
Globaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Regionaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Führen Sie den folgenden Befehl aus, um vorhandene IAP-Einstellungen in eine
settings.json-Datei abzurufen.Globaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Regionaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Aktualisieren Sie die Datei
settings.json, um die zuvor gespeicherte CLIENT_ID als programmatischen Client hinzuzufügen.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Führen Sie den folgenden Befehl aus, um die Einstellungen für IAP zu aktualisieren.
Globaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d "@settings.json" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
Regionaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d "@settings.json" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
Führen Sie den folgenden Befehl aus, um eine
settings.json-Datei vorzubereiten.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOFFühren Sie den folgenden Befehl aus, um Ihre IAP-Ressourcen zu migrieren.
Globaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
Regionaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
Führen Sie den folgenden Befehl mit globalem oder regionalem Bereich aus, um zu prüfen, ob die OAuth-Client-ID nicht festgelegt ist. Prüfen Sie nach der Ausführung des Befehls die Ausgabe, um sicherzustellen, dass das Feld „OAuth-Client-ID“ leer ist.
Globaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
Regionaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
Terraform
Wenn Sie vorhandene IAP-fähige Ressourcen migrieren, um einen von Google verwalteten OAuth-Client zu verwenden, müssen Sie die Felder oauth2_client_id und oauth2_client_secret explizit aufheben. So heben Sie die Festlegung der Felder auf, indem Sie die Werte auf ein einzelnes Leerzeichen aktualisieren, wie im folgenden Beispiel gezeigt:
resource "google_compute_backend_service" "default" {
name = "tf-test-backend-service-external"
protocol = "HTTP"
load_balancing_scheme = "EXTERNAL"
iap {
oauth2_client_id = " "
oauth2_client_secret = " "
}
}
Die Felder oauth2_client_id und oauth2_client_secret sind optional. Wenn Sie mit neuen IAP-fähigen Ressourcen arbeiten, können Sie sie ignorieren.
Weitere Informationen zur Verwendung von Terraform mit Google Cloudfinden Sie in der Terraform-Dokumentation.
IAP-fähige Cloud Run-Ressourcen migrieren
Führen Sie die Schritte in diesem Abschnitt aus, um Cloud Run-Ressourcen zu migrieren, für die IAP aktiviert und ein OAuth 2.0-Client konfiguriert ist.
gcloud
Bevor Sie mit den Schritten fortfahren, müssen Sie sicherstellen, dass Sie eine aktuelle Version der gcloud CLI haben. Eine Anleitung zur Installation der gcloud CLI finden Sie unter gcloud CLI installieren.
Verwenden Sie zur Authentifizierung die Google Cloud CLI und führen Sie den folgenden Befehl aus.
gcloud auth loginKlicken Sie auf die angezeigte URL und melden Sie sich an.
Kopieren Sie nach der Anmeldung den angezeigten Bestätigungscode und fügen Sie ihn in die Befehlszeile ein.
Führen Sie den folgenden Befehl aus, um das Projekt anzugeben, das die Anwendungen enthält, die Sie weiterhin mit IAP schützen möchten.
gcloud config set project PROJECT_IDFühren Sie den folgenden Befehl aus, um die konfigurierte OAuth 2.0-Client-ID abzurufen.
Globaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --global \ --format="value(iap.oauth2ClientId)"Regionaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME \ --format="value(iap.oauth2ClientId)"Speichern Sie die Client-ID aus dem vorherigen Befehl, wenn Sie programmatischen Zugriff zulassen möchten.
Wenn Sie einen OAuth 2.0-Client für den programmatischen Zugriff auf die Zulassungsliste setzen möchten, führen Sie einen Lese-, Aktualisierungs- und Schreibvorgang für die IAP-Einstellungen-API aus.
Globaler Bereich
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME > settings.yamlRegionaler Bereich
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME > settings.yamlAktualisieren Sie die Datei
settings.yamlund fügen Sie die zuvor abgerufene OAuth 2.0-Client-ID unterprogrammaticClientsein, wie im Beispiel gezeigt.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDWenden Sie die neuen Einstellungen auf die Compute Engine-Anwendung an.
Globaler Bereich
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAMERegionaler Bereich
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAMEFühren Sie zum Migrieren Ihrer Ressourcen entweder den globalen oder den regionalen Befehl aus.
Globaler Bereich
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "Regionaler Bereich
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION_NAME \ --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "Führen Sie den folgenden Befehl mit globalem oder regionalem Bereich aus, um zu prüfen, ob die OAuth-Client-ID nicht festgelegt ist. Prüfen Sie nach der Ausführung des Befehls die Ausgabe, um sicherzustellen, dass das Feld „OAuth-Client-ID“ leer ist.
Globaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --globalRegionaler Bereich
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME
API
Führen Sie den folgenden Befehl aus, um die konfigurierte OAuth 2.0-Client-ID abzurufen.
Globaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Regionaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
Führen Sie den folgenden Befehl aus, um vorhandene IAP-Einstellungen in eine
settings.json-Datei abzurufen.Globaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Regionaler Bereich
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
Aktualisieren Sie die Datei
settings.json, um die zuvor gespeicherte CLIENT_ID als programmatischen Client hinzuzufügen.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }Führen Sie den folgenden Befehl aus, um die Einstellungen für IAP zu aktualisieren.
Globaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d "@settings.json" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
Regionaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d "@settings.json" \ "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
Führen Sie den folgenden Befehl aus, um eine
settings.json-Datei vorzubereiten.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOFFühren Sie den folgenden Befehl aus, um Ihre Ressourcen zu migrieren.
Globaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
Regionaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
Führen Sie den folgenden Befehl mit globalem oder regionalem Bereich aus, um zu bestätigen, dass die OAuth-Client-ID nicht festgelegt ist. Prüfen Sie nach der Ausführung des Befehls die Ausgabe, um sicherzustellen, dass das Feld für die OAuth-Client-ID leer ist.
Globaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
Regionaler Bereich
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
IAP-fähige Google Kubernetes Engine-Ressourcen migrieren
Fügen Sie der BackendConfig-CRD (Custom Resource Definition) den folgenden IAP-Block hinzu. Dadurch wird IAP mit dem von Google verwalteten OAuth 2.0-Client aktiviert.
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: config-default
namespace: my-namespace
spec:
iap:
enabled: true
Mit einem Dienstkonto-JWT bei IAP authentifizieren
Sie können sich bei IAP authentifizieren, ohne die eingestellte OAuth Admin API verwenden zu müssen. Dazu verwenden Sie ein Dienstkonto-JWT.
OAuth-Clientschlüssel abrufen
Wenn Sie einen benutzerdefinierten OAuth-Client in der Google Cloud Console erstellen, wird das Client-Secret nur dann angezeigt. Sie sind dafür verantwortlich, dieses Secret sicher zu speichern. Secret Manager ist der empfohlene Dienst zum sicheren Speichern von OAuth-Clientschlüsseln.
Wenn Sie Secret Manager zum Speichern des Secrets Ihres OAuth-Clients verwenden, finden Sie unter Auf eine Secret-Version zugreifen eine Anleitung zum Abrufen des Clientschlüssels.
Herausfinden, ob Sie die OAuth Admin API verwenden
So prüfen Sie, ob Sie die OAuth Admin API verwenden:
Öffnen Sie in der Google Cloud Console die Seite „IAP APIs“ und wählen Sie das Projekt aus, das Sie analysieren möchten.
Wählen Sie in der Liste Grafiken auswählen die Option Traffic nach API-Methode aus und klicken Sie dann auf OK.
Suchen Sie im Abschnitt Methods (Methoden) nach Methoden mit dem Präfix
google.cloud.iap.v1.IdentityAwareProxyOAuthService. Das weist darauf hin, dass das Projekt die OAuth Admin API verwendet.
Alternativen zur Verwendung der OAuth Admin API
Wenn Sie OAuth-Clientanmeldedaten ohne Verwendung der OAuth API abrufen müssen, können Sie die folgenden Methoden verwenden:
Google Cloud -Konsole: Sie können OAuth-Anmeldedaten manuell über die Seite Anmeldedaten abrufen.
Secret Manager: Sie können das Secret mit Secret Manager speichern und abrufen. Informationen zur Verwendung von Secret Manager mit Terraform finden Sie unter google_secret_manager_secret.
Dienstkonto-JWTs: Verwenden Sie JSON Web Tokens (JWTs) für Dienstkonten zur Authentifizierung. Bei Dienstkonto-JWTs müssen Sie keine OAuth-Clients verwenden.