Von der IAP OAuth Admin API migrieren

In diesem Leitfaden wird beschrieben, wie Sie von OAuth 2.0-Clients, die mit der IAP OAuth Admin API (Identity-Aware Proxy) erstellt wurden, zu den von IAP automatisch bereitgestellten Google-verwalteten OAuth 2.0-Clients migrieren.

Was ändert sich?

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, werden sie jetzt bei Bedarf automatisch von IAP erstellt und verwaltet. Diese Änderung vereinfacht die Clientverwaltung, reduziert manuelle Fehler und optimiert Ihre Bereitstellungsprozesse.

Was sich nicht ändert

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.

Wenn Sie die IAP OAuth Admin API nicht verwenden, hat diese Änderung keine Auswirkungen auf Sie.

Detaillierte Beschreibung

Ab dem 22. Januar 2025 ist die IAP OAuth 2.0 Admin API, die zum Erstellen eines IAP OAuth 2.0-Clients verwendet 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 IAP-fähige Anwendungen 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 keine neuen OAuth-Clients mehr erstellen oder verwalten. OAuth-Clients, die vor dieser Einstellung erstellt wurden, werden nicht ungültig. Sie können weiterhin zuvor erstellte OAuth-Clients verwenden und diese über die Google 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 Sie jedoch Automatisierung eingerichtet haben, um beim Bereitstellen von Anwendungen neue Clients zu erstellen oder Clientschlüssel für vorhandene Clients abzurufen, müssen Sie Ihre Automatisierungsskripts aktualisieren, um die Abhängigkeit von der IAP OAuth 2.0 Admin API zu entfernen.

Wenn Sie den von Google verwalteten OAuth 2.0-Client verwenden möchten, folgen Sie der Anleitung unter Programmgesteuerter Zugriff, um den programmgesteuerten Zugriff für diese Anwendungen zu konfigurieren.

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 einen Client manuell erstellen.

Erforderliche Aktionen

  • Automatisierungsskripts aktualisieren

    Wenn Sie Terraform oder andere Tools zur Automatisierung der IAP-Konfiguration verwenden 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 einige Anwendungen haben, die durch IAP geschützt sind, und Sie planen, sie auf die Verwendung des von Google verwalteten OAuth 2.0-Clients umzustellen, können Sie den programmatischen Zugriff für diese Anwendungen konfigurieren, indem Sie OAuth 2.0-Clients auf die Zulassungsliste setzen.

IAP-aktivierte Ressourcen migrieren

Wenn Sie Ihre Ressourcen migrieren möchten, um den von Google verwalteten OAuth 2.0-Client zu 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 prüfen, ob Sie eine aktuelle Version der gcloud CLI haben. Eine Anleitung zur Installation der gcloud CLI finden Sie unter gcloud CLI installieren.

  1. Authentifizieren Sie sich mit der Google Cloud CLI.

    gcloud auth login
    
  2. Klicken Sie auf die angezeigte URL und melden Sie sich an.

  3. Kopieren Sie nach der Anmeldung den angezeigten Bestätigungscode und fügen Sie ihn in die Befehlszeile ein.

  4. 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_ID
    
  5. Fü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.

  6. 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.yaml
    
  7. Aktualisieren Sie die Datei „settings.yaml“ und fügen Sie die zuvor abgerufene OAuth 2.0-Client-ID unter programmaticClients ein, wie im Beispiel gezeigt.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Neue Einstellungen auf die App Engine-Anwendung anwenden

    gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_ID
    
  9. Führen Sie den folgenden Befehl aus, um Ihre Apps zu migrieren.

    gcloud iap web enable --resource-type=app-engine
    

API

  1. 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"
    
  2. 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.json
    
  3. Aktualisieren Sie die Datei settings.json, um zuvor gespeicherte CLIENT_ID als programmatischen Client hinzuzufügen.

    {
       "accessSettings": {
         "oauthSettings": {
           "programmaticClients": [
             "CLIENT_ID"
           ]
         },
       },
    }
    
  4. Führen Sie den folgenden Befehl aus, um die IAP-Einstellungen 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"
    
  5. Führen Sie den folgenden Befehl aus, um eine settings.json-Datei vorzubereiten.

     cat << EOF > settings.json
     {
     "iap":
         {
           "enabled":true
         }
     }
     EOF
    
  6. Fü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 prüfen, ob Sie eine aktuelle Version der gcloud CLI haben. Eine Anleitung zur Installation der gcloud CLI finden Sie unter gcloud CLI installieren.

  1. Authentifizieren Sie sich mit der Google Cloud CLI.

    gcloud auth login
    
  2. Klicken Sie auf die angezeigte URL und melden Sie sich an.

  3. Kopieren Sie nach der Anmeldung den angezeigten Bestätigungscode und fügen Sie ihn in die Befehlszeile ein.

  4. 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_ID
    
  5. Fü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 Geltungsbereich

    
    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.
  6. 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.yaml

    Regionaler Geltungsbereich

    
    gcloud iap settings get \
    --resource-type=compute \
    --project=PROJECT_ID \
    --service=BACKEND_SERVICE_NAME \
    --region=REGION_NAME > settings.yaml
  7. Aktualisieren Sie die Datei „settings.yaml“ und fügen Sie die zuvor abgerufene OAuth 2.0-Client-ID unter programmaticClients ein, wie im Beispiel gezeigt.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Neue Einstellungen auf die Compute Engine-Anwendung anwenden

    Globaler Bereich

    
    gcloud iap settings set settings.yaml \
    --resource-type=compute \
    --project=PROJECT_ID \
    --service=BACKEND_SERVICE_NAME

    Regionaler Geltungsbereich

    
    gcloud iap settings set settings.yaml \
    --resource-type=compute \
    --project=PROJECT_ID \
    --service=BACKEND_SERVICE_NAME \
    --region=REGION_NAME
  9. 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 Geltungsbereich

    
    gcloud compute backend-services update BACKEND_SERVICE_NAME \
    --region REGION_NAME \
    --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
  10. 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 „OAuth-Client-ID“ leer ist.

    Globaler Bereich

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --global
    

    Regionaler Geltungsbereich

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --region REGION_NAME
    

API

  1. 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 Geltungsbereich

    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"
    

  2. 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 Geltungsbereich

    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
    

  3. Aktualisieren Sie die Datei settings.json, um zuvor gespeicherte CLIENT_ID als programmatischen Client hinzuzufügen.

    {
       "accessSettings": {
         "oauthSettings": {
           "programmaticClients": [
             "CLIENT_ID"
           ]
         },
       },
    }
    
  4. Führen Sie den folgenden Befehl aus, um die IAP-Einstellungen 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 Geltungsbereich

    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"
    

  5. Führen Sie den folgenden Befehl aus, um eine settings.json-Datei vorzubereiten.

    cat << EOF > settings.json
    {
    "iap":
         {
           "enabled":true,
           "oauth2ClientId": " ",
           "oauth2ClientSecret": " "
         }
    }
    EOF
    
  6. Fü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 Geltungsbereich

    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"

  7. 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 „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 Geltungsbereich

    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, indem Sie sie auf ein einzelnes Leerzeichen aktualisieren.

Beispiel:


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 finden 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 prüfen, ob Sie eine aktuelle Version der gcloud CLI haben. Eine Anleitung zur Installation der gcloud CLI finden Sie unter gcloud CLI installieren.

  1. Verwenden Sie die Google Cloud CLI und führen Sie den folgenden Befehl aus, um sich zu authentifizieren.

    gcloud auth login
    
  2. Klicken Sie auf die angezeigte URL und melden Sie sich an.

  3. Kopieren Sie nach der Anmeldung den angezeigten Bestätigungscode und fügen Sie ihn in die Befehlszeile ein.

  4. 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_ID
    
  5. Fü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 Geltungsbereich

    
    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.
  6. 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.yaml

    Regionaler Geltungsbereich

    
    gcloud iap settings get \
    --resource-type=compute \
    --project=PROJECT_ID \
    --service=BACKEND_SERVICE_NAME \
    --region=REGION_NAME > settings.yaml
  7. Aktualisieren Sie die Datei „settings.yaml“ und fügen Sie die zuvor abgerufene OAuth 2.0-Client-ID unter programmaticClients ein, wie im Beispiel gezeigt.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Neue Einstellungen auf die Compute Engine-Anwendung anwenden

    Globaler Bereich

    
    gcloud iap settings set settings.yaml \
    --resource-type=compute \
    --project=PROJECT_ID \
    --service=BACKEND_SERVICE_NAME

    Regionaler Geltungsbereich

    
    gcloud iap settings set settings.yaml \
    --resource-type=compute \
    --project=PROJECT_ID \
    --service=BACKEND_SERVICE_NAME \
    --region=REGION_NAME
  9. Fü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 Geltungsbereich

    
    gcloud compute backend-services update BACKEND_SERVICE_NAME \
    --region REGION_NAME \
    --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "

  10. 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 „OAuth-Client-ID“ leer ist.

    Globaler Bereich

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --global
    

    Regionaler Geltungsbereich

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --region REGION_NAME
    

API

  1. 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 Geltungsbereich

    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"
    

  2. 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 Geltungsbereich

    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
    

  3. Aktualisieren Sie die Datei settings.json, um zuvor gespeicherte CLIENT_ID als programmatischen Client hinzuzufügen.

    {
       "accessSettings": {
         "oauthSettings": {
           "programmaticClients": [
             "CLIENT_ID"
           ]
         },
       },
    }
    
  4. Führen Sie den folgenden Befehl aus, um die IAP-Einstellungen 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 Geltungsbereich

    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"
    

  5. Führen Sie den folgenden Befehl aus, um eine settings.json-Datei vorzubereiten.

    cat << EOF > settings.json
    {
    "iap":
         {
           "enabled":true,
           "oauth2ClientId": " ",
           "oauth2ClientSecret": " "
         }
    }
    EOF
    
  6. Fü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 Geltungsbereich

    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"

  7. 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 „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 Geltungsbereich

    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 benutzerdefinierten Ressourcendefinition (Custom Resource Definition, CRD) BackendConfig 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.

Secret eines OAuth-Clients abrufen

Wenn Sie den Clientschlüssel eines OAuth-Clients abrufen möchten, ohne die eingestellte OAuth Admin API zu verwenden, nutzen Sie Secret Manager. Folgen Sie dazu der Anleitung in diesem Terraform-Beispiel: google_secret_manager_secret.

Herausfinden, ob Sie die OAuth Admin API verwenden

So prüfen Sie, ob Sie die OAuth Admin API verwenden:

  1. Öffnen Sie in der Google Cloud Console die Seite „IAP APIs“ (IAP-APIs) und wählen Sie das Projekt aus, das Sie analysieren möchten.
    Zur Seite „IAP APIs“

  2. Wählen Sie in der Liste Grafiken auswählen die Option Traffic nach API-Methode aus und klicken Sie dann auf OK.

  3. 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.