Eseguire la migrazione dall'API Admin OAuth IAP

L'API Identity-Aware Proxy (IAP) OAuth Admin è stata ritirata. Questa guida mostra come eseguire la migrazione facoltativa dei client OAuth esistenti ai client OAuth gestiti da Google. Se non utilizzi l'API IAP OAuth Admin, questa modifica non ti riguarda.

Per verificare se il tuo progetto utilizza le API OAuth Admin, consulta Verificare l'utilizzo delle API OAuth Admin. Se il tuo progetto utilizza le API OAuth Admin, devi seguire le istruzioni di migrazione in questo documento oppure puoi utilizzare alternative all'API OAuth Admin.

Cosa cambierà?

Stiamo ritirando l'API OAuth Admin di IAP, che include le seguenti API per la gestione manuale di client e brand OAuth:

Non puoi più creare o gestire client OAuth personalizzati utilizzando l'API IAP OAuth Admin. Anziché gestire manualmente i client OAuth 2.0, IAP utilizza un client OAuth gestito da Google. In questo modo, la gestione dei client OAuth viene semplificata, gli errori manuali vengono ridotti e i processi di deployment vengono ottimizzati.

Per continuare a fornire un branding personalizzato, ti consigliamo di configurare client OAuth personalizzati.

Che cosa non cambierà

Se non utilizzi l'API IAP OAuth Admin, questa modifica non ti riguarda.

Questo ritiro non influisce sui client OAuth che configuri manualmente utilizzando l'API Compute Engine, l'API App Engine o la console Google Cloud .

Puoi continuare a creare nuove configurazioni di brand e client OAuth e gestirle utilizzando la Google Cloud console. Non è necessario eseguire la migrazione dei client OAuth esistenti. Puoi continuare a utilizzarli e gestirli tramite la consoleGoogle Cloud anziché l'API IAP OAuth Admin.

Controllare l'utilizzo delle API IAP OAuth Admin

Per verificare se il tuo progetto utilizza le API di amministrazione OAuth di IAP, procedi nel seguente modo:

  1. Nella console Google Cloud , vai alla pagina Utilizzo dell'API IAP.

    Vai a Utilizzo dell'API IAP

  2. Seleziona il progetto per cui vuoi verificare l'utilizzo dell'API OAuth di IAP Admin.

  3. Nell'elenco Seleziona grafici, seleziona Traffico per metodo API e poi fai clic su Ok.

  4. Nella sezione Metodi, cerca i metodi con il prefisso google.cloud.iap.v1.IdentityAwareProxyOAuthService, che indica che il progetto utilizza l'API IAP OAuth Admin.

Descrizione dettagliata

A partire dal 22 gennaio 2025, l'API IAP OAuth 2.0 Admin, utilizzata per creare un client IAP OAuth 2.0, è ritirata. IAP ora utilizza un client OAuth gestito da Google per l'accesso al browser per impostazione predefinita o quando non è configurato esplicitamente alcun client OAuth 2.0. Il client OAuth 2.0 gestito da Google limita l'accesso alle applicazioni abilitate a IAP agli utenti della stessa organizzazione quando accedono a queste applicazioni tramite un browser.

Con il ritiro dell'API Identity-Aware Proxy (IAP) OAuth 2.0 Admin, non puoi più utilizzare questa API per creare o gestire client OAuth. I client OAuth creati prima del ritiro non verranno invalidati. Puoi continuare a utilizzare i client OAuth che hai creato in precedenza e gestirli utilizzando la console Google Cloud .

Se hai applicazioni configurate con client OAuth creati utilizzando l'API Admin IAP 2.0 o in altro modo, queste applicazioni continueranno a funzionare. Non sono necessarie modifiche alle applicazioni. Tuttavia, se i tuoi script di automazione o gli strumenti di Infrastructure as Code (IaC) utilizzano l'API IAP OAuth 2.0 Admin per configurare nuovi client o recuperare i segreti client per i client esistenti, devi aggiornare gli script in modo che non utilizzino l'API IAP OAuth 2.0 Admin.

Se continuare a utilizzare il client gestito dall'utente esistente o passare all'opzione gestita da Google dipende dai tuoi requisiti per il branding e l'accesso esterno. Per un'analisi dettagliata di tutte le differenze funzionali, consulta la tabella di confronto tra client OAuth personalizzati e gestiti da Google. Se la tua applicazione richiede un ID client personalizzato per il branding o l'accesso esterno, utilizza la console Google Cloud per creare l'ID client. Per saperne di più sui client OAuth personalizzati, consulta Personalizzare una configurazione OAuth per abilitare IAP.

Per scoprire come configurare i client OAuth 2.0 gestiti da Google per le tue applicazioni, consulta la sezione Accesso programmatico.

Se hai un requisito che non viene soddisfatto dal client OAuth 2.0 gestito da Google, puoi condividere un singolo client OAuth con più applicazioni IAP, eliminando la necessità di creare manualmente un client per ogni nuova applicazione.

Azioni richieste

  • Aggiornare gli script di automazione

    Se utilizzi Terraform o altri strumenti per automatizzare la configurazione di IAP e utilizzi l'API IAP OAuth 2.0 Admin, devi aggiornare gli script di automazione per utilizzare un client precreato o utilizzare il client OAuth gestito da Google con IAP.

  • Configurare l'accesso programmatico per le applicazioni utilizzando i client OAuth 2.0 gestiti da Google

    Se hai già alcune applicazioni protette da IAP e prevedi di eseguirne la migrazione utilizzando il client OAuth 2.0 gestito da Google, puoi configurare l'accesso programmatico per queste applicazioni inserendo nella lista consentita i client OAuth 2.0.

Esegui la migrazione delle risorse abilitate a IAP

Per eseguire la migrazione delle risorse in modo che utilizzino il client OAuth 2.0 gestito da Google, segui i passaggi per il tipo di risorsa, ad esempio una risorsa Compute Engine, di cui vuoi eseguire la migrazione.

Esegui la migrazione delle risorse App Engine abilitate per IAP

Completa i passaggi descritti in questa sezione per eseguire la migrazione delle risorse App Engine in cui IAP è abilitato e un client OAuth 2.0 è configurato.

gcloud

Prima di procedere con i passaggi, assicurati di avere una versione aggiornata di gcloud CLI. Per istruzioni su come installare gcloud CLI, vedi Installa gcloud CLI.

  1. Utilizza Google Cloud CLI per l'autenticazione.

    gcloud auth login
    
  2. Fai clic sull'URL visualizzato e accedi.

  3. Dopo aver eseguito l'accesso, copia il codice di verifica visualizzato e incollalo nella riga di comando.

  4. Esegui questo comando per specificare il progetto che contiene le applicazioni che vuoi continuare a proteggere con IAP.

    gcloud config set project PROJECT_ID
    
  5. Esegui questo comando per recuperare l'ID client OAuth 2.0 configurato.

    gcloud app describe --format="value(iap.oauth2ClientId)"
    

    Salva l'ID client del comando precedente se vuoi consentire l'accesso programmatico.

  6. Per inserire nella lista consentita il client OAuth 2.0 per l'accesso programmatico, esegui un'operazione di lettura-aggiornamento-scrittura sull'API delle impostazioni IAP.

    gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yaml
    
  7. Aggiorna il file settings.yaml e aggiungi l'ID client OAuth 2.0 recuperato in precedenza in programmaticClients come mostrato nell'esempio seguente.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Applica le nuove impostazioni all'applicazione App Engine

    gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_ID
    
  9. Per eseguire la migrazione delle tue app, esegui questo comando.

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

API

  1. Esegui questo comando per recuperare l'ID client OAuth 2.0 configurato.

    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. Esegui questo comando per recuperare le impostazioni IAP esistenti in un file settings.json.

    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. Aggiorna il file settings.json per aggiungere CLIENT_ID salvato in precedenza come cliente programmatico.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Esegui questo comando per aggiornare le impostazioni di IAP.

    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. Esegui questo comando per preparare un file settings.json.

      cat << EOF > settings.json
      {
      "iap":
          {
            "enabled":true
          }
      }
      EOF
    
  6. Esegui questo comando per eseguire la migrazione delle tue app.

      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"
    

Migra le risorse Compute Engine abilitate per IAP

Completa i passaggi descritti in questa sezione per eseguire la migrazione delle risorse Compute Engine in cui è abilitato IAP ed è configurato un client OAuth 2.0.

gcloud

Prima di procedere con i passaggi, assicurati di avere una versione aggiornata di gcloud CLI. Per istruzioni su come installare gcloud CLI, vedi Installa gcloud CLI.

  1. Utilizza Google Cloud CLI per l'autenticazione.

    gcloud auth login
    
  2. Fai clic sull'URL visualizzato e accedi.

  3. Dopo aver eseguito l'accesso, copia il codice di verifica visualizzato e incollalo nella riga di comando.

  4. Esegui questo comando per specificare il progetto che contiene le applicazioni che vuoi continuare a proteggere con IAP.

    gcloud config set project PROJECT_ID
    
  5. Esegui questo comando per recuperare l'ID client OAuth 2.0 configurato.

    Ambito globale

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --global \
    --format="value(iap.oauth2ClientId)"
    

    Ambito regionale

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --region REGION_NAME \
    --format="value(iap.oauth2ClientId)"
    

    Salva l'ID client dal comando precedente se vuoi consentire l'accesso programmatico.

  6. Per concedere l'accesso programmatico al client OAuth 2.0, esegui un'operazione di lettura-aggiornamento-scrittura sull'API delle impostazioni IAP.

    Ambito globale

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

    Ambito regionale

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Aggiorna il file settings.yaml e aggiungi l'ID client OAuth 2.0 recuperato in precedenza in programmaticClients come mostrato nell'esempio seguente:

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Applica le nuove impostazioni all'applicazione Compute Engine:

    Ambito globale

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

    Ambito regionale

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
  9. Per eseguire la migrazione delle applicazioni, esegui il comando con ambito globale o regionale.

    Ambito globale

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

    Ambito regionale

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Per confermare che l'ID client OAuth non è impostato, esegui il seguente comando con ambito globale o regionale. Dopo aver eseguito il comando, controlla l'output per assicurarti che il campo ID client OAuth sia vuoto.

    Ambito globale

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Ambito regionale

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

API

  1. Esegui questo comando per recuperare l'ID client OAuth 2.0 configurato.

    Ambito globale

    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"
    

    Ambito regionale

    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. Esegui questo comando per recuperare le impostazioni IAP esistenti in un file settings.json.

    Ambito globale

    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
    

    Ambito regionale

    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. Aggiorna il file settings.json per aggiungere CLIENT_ID salvato in precedenza come client programmatico.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Esegui questo comando per aggiornare le impostazioni di IAP.

    Ambito globale

    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"
    

    Ambito regionale

    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. Esegui questo comando per preparare un file settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Esegui questo comando per eseguire la migrazione delle risorse IAP.

    Ambito globale

    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"
    

    Ambito regionale

    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. Per confermare che l'ID client OAuth non è impostato, esegui il seguente comando con ambito globale o regionale. Dopo aver eseguito il comando, controlla l'output per assicurarti che il campo ID client OAuth sia vuoto.

    Ambito globale

    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"
    

    Ambito regionale

    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

Se esegui la migrazione di risorse esistenti abilitate per IAP per utilizzare un client OAuth gestito da Google, devi annullare esplicitamente l'impostazione dei campi oauth2_client_id e oauth2_client_secret. Per annullare l'impostazione dei campi aggiornando i valori a un singolo carattere spazio vuoto, come mostrato nell'esempio seguente:

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 = " "
  }
}

I campi oauth2_client_id e oauth2_client_secret sono facoltativi e se lavori con nuove risorse abilitate aIAPp, puoi ignorarli.

Per saperne di più sull'utilizzo di Terraform con Google Cloud, consulta la documentazione di Terraform.

Esegui la migrazione delle risorse Cloud Run abilitate a IAP

Completa i passaggi descritti in questa sezione per eseguire la migrazione delle risorse Cloud Run in cui IAP è abilitato e un client OAuth 2.0 è configurato.

gcloud

Prima di procedere con i passaggi, assicurati di avere una versione aggiornata di gcloud CLI. Per istruzioni su come installare gcloud CLI, vedi Installa gcloud CLI.

  1. Per l'autenticazione, utilizza Google Cloud CLI ed esegui il seguente comando.

    gcloud auth login
    
  2. Fai clic sull'URL visualizzato e accedi.

  3. Dopo aver eseguito l'accesso, copia il codice di verifica visualizzato e incollalo nella riga di comando.

  4. Esegui questo comando per specificare il progetto che contiene le applicazioni che vuoi continuare a proteggere con IAP.

    gcloud config set project PROJECT_ID
    
  5. Esegui questo comando per recuperare l'ID client OAuth 2.0 configurato.

    Ambito globale

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global \
        --format="value(iap.oauth2ClientId)"
    

    Ambito regionale

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
      --region REGION_NAME \
      --format="value(iap.oauth2ClientId)"
    

    Salva l'ID client dal comando precedente se vuoi consentire l'accesso programmatico.

  6. Per inserire nella lista consentita il client OAuth 2.0 per l'accesso programmatico, esegui un'operazione di lettura-aggiornamento-scrittura sull'API delle impostazioni IAP.

    Ambito globale

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

    Ambito regionale

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Aggiorna il file settings.yaml e aggiungi l'ID client OAuth 2.0 recuperato in precedenza in programmaticClients come mostrato nell'esempio.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Applica le nuove impostazioni all'applicazione Compute Engine.

    Ambito globale

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

    Ambito regionale

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
    
  9. Per eseguire la migrazione delle risorse, esegui il comando con ambito globale o regionale.

    Ambito globale

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

    Ambito regionale

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Per confermare che l'ID client OAuth non è impostato, esegui il seguente comando con ambito globale o regionale. Dopo aver eseguito il comando, controlla l'output per assicurarti che il campo ID client OAuth sia vuoto.

    Ambito globale

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Ambito regionale

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

API

  1. Esegui questo comando per recuperare l'ID client OAuth 2.0 configurato.

    Ambito globale

    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"
    

    Ambito regionale

    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. Esegui questo comando per recuperare le impostazioni IAP esistenti in un file settings.json.

    Ambito globale

    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
    

    Ambito regionale

    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. Aggiorna il file settings.json per aggiungere CLIENT_ID salvato in precedenza come client programmatico.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Esegui questo comando per aggiornare le impostazioni di IAP.

    Ambito globale

    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"
    

    Ambito regionale

    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. Esegui questo comando per preparare un file settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Esegui questo comando per eseguire la migrazione delle risorse.

    Ambito globale

    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"
    

    Ambito regionale

    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. Per verificare che l'ID client OAuth non sia impostato, esegui il seguente comando di ambito globale o regionale. Dopo aver eseguito il comando, controlla l'output per assicurarti che il campo ID client OAuth sia vuoto.

    Ambito globale

    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"
    

    Ambito regionale

    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"
    

Migra le risorse Google Kubernetes Engine abilitate per IAP

Aggiungi il seguente blocco IAP alla definizione di risorsa personalizzata (CRD) BackendConfig. Viene abilitato IAP con il client OAuth 2.0 gestito da Google.

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  name: config-default
  namespace: my-namespace
spec:
  iap:
    enabled: true

Utilizzare un JWT dell'account di servizio per l'autenticazione a IAP

Puoi autenticarti in IAP senza dover utilizzare l'API OAuth Admin ritirata utilizzando un JWT del service account.

Recuperare un client secret OAuth

Quando crei un client OAuth personalizzato nella console Google Cloud , il client secret viene visualizzato solo in quel momento. Sei responsabile dell'archiviazione sicura di questo secret. Secret Manager è il servizio consigliato per memorizzare in modo sicuro i client secret OAuth.

Se utilizzi Secret Manager per archiviare il client secret OAuth, consulta Accedere a una versione del secret per istruzioni su come ottenere il client secret.

Verifica se stai utilizzando l'API IAP OAuth Admin

Per verificare se il tuo progetto utilizza le API OAuth Admin IAP, consulta Verificare l'utilizzo delle API OAuth Admin.

Alternative all'utilizzo dell'API OAuth Admin

Se devi ottenere le credenziali client OAuth senza utilizzare l'API OAuth, puoi utilizzare i seguenti metodi:

  • Google Cloud console: puoi ottenere manualmente le credenziali OAuth tramite la pagina Credenziali.

  • Secret Manager: puoi archiviare e recuperare il secret utilizzando Secret Manager. Per scoprire come utilizzare Secret Manager con Terraform, consulta google_secret_manager_secret.

  • JWT dell'account di servizio: utilizza i token web JSON (JWT) dell'account di servizio per l'autenticazione. Con i JWT del account di servizio, non è necessario utilizzare i client OAuth.