L'API OAuth Admin di Identity-Aware Proxy (IAP) è 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 Admin OAuth, consulta Verifica l'utilizzo delle API Admin OAuth. Se il tuo progetto utilizza le API OAuth Admin, devi seguire le istruzioni di migrazione riportate in questo documento oppure puoi utilizzare le alternative all'API OAuth Admin.
Cosa cambierà?
Stiamo ritirando l'API OAuth Admin di IAP, che include le seguenti API e i seguenti gruppi di comandi gcloud CLI per la gestione manuale dei client e dei brand OAuth:
- API client OAuth
- API Brands
gcloud iap oauth-brands(create,describeelist), inclusi i canali di rilascioalphaebetagcloud iap oauth-clients(create,delete,describe,listereset-secret), inclusi i canali di rilascioalphaebeta
Non puoi più creare o gestire client OAuth personalizzati utilizzando l'API Admin IAP OAuth. 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 rimane invariato
Se non utilizzi l'API IAP OAuth Admin, questa modifica non ti riguarda.
Questa deprecazione non influisce sui client OAuth configurati manualmente utilizzando l'API Compute Engine, l'API App Engine o la console Google Cloud . Inoltre, non influisce su altre API IAP o gruppi di comandi gcloud CLI (inclusi i canali di rilascio alpha e beta) che gestiscono policy di accesso, impostazioni o forwarding TCP di IAP, come gcloud iap web (ad esempio get-iam-policy e remove-iam-policy-binding), gcloud iap settings e gcloud iap tcp, perché questi comandi utilizzano l'API IdentityAwareProxyAdminService anziché l'API IdentityAwareProxyOAuthService deprecata.
Puoi continuare a creare nuove configurazioni di brand e client OAuth e gestirle utilizzando la console Google Cloud . Non è necessario eseguire la migrazione dei client OAuth esistenti; puoi continuare a utilizzarli e gestirli tramite la consoleGoogle Cloud anziché l'API Admin OAuth IAP.
Controlla l'utilizzo delle API OAuth Admin di IAP
Per verificare se il tuo progetto utilizza le API Admin OAuth di IAP, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Utilizzo API IAP.
Seleziona il progetto per cui vuoi verificare l'utilizzo dell'API Admin OAuth di IAP.
Nell'elenco Seleziona grafici, seleziona Traffico per metodo API, quindi fai clic su Ok.
Nella sezione Metodi, cerca i metodi con il prefisso
google.cloud.iap.v1.IdentityAwareProxyOAuthService, che indica che il progetto utilizza l'API Admin IAP OAuth.
Descrizione dettagliata
A partire dal 22 gennaio 2025, l'API Admin OAuth 2.0 di IAP, utilizzata per creare un client OAuth 2.0 di IAP, è deprecata. 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 per IAP agli utenti della stessa organizzazione quando accedono a queste applicazioni tramite un browser.
Con il ritiro dell'API Admin OAuth 2.0 di Identity-Aware Proxy (IAP), non puoi più utilizzare questa API per creare o gestire client OAuth. I client OAuth creati prima di questa deprecazione 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 di IAP 2.0 o in altro modo, queste applicazioni continueranno a funzionare. Non sono richieste modifiche alle applicazioni. Tuttavia, se i tuoi script di automazione o gli strumenti di Infrastructure as Code (IaC) utilizzano l'API Admin OAuth 2.0 di IAP per configurare nuovi client o recuperare i secret client per i client esistenti, devi aggiornare gli script in modo che non utilizzino l'API Admin OAuth 2.0 di IAP.
La scelta di continuare a utilizzare il client gestito dall'utente esistente o di passare all'opzione gestita da Google dipende dai requisiti di branding e di accesso esterno. Per un'analisi dettagliata di tutte le differenze funzionali, consulta la tabella di confronto dei client OAuth gestiti da Google e personalizzati. 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 Personalizza una configurazione OAuth per abilitare IAP.
Per scoprire come configurare i client OAuth 2.0 gestiti da Google per le tue applicazioni, consulta 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
Aggiorna gli script di automazione
Se utilizzi Terraform, gcloud CLI (
gcloud iap oauth-brandsogcloud iap oauth-clients, inclusialphaebeta) 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 il client OAuth gestito da Google con IAP.Configura l'accesso programmatico per le applicazioni che utilizzano 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 i client OAuth 2.0 nella lista consentita.
Esegui la migrazione delle risorse abilitate per 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, consulta Installa gcloud CLI.
Utilizza Google Cloud CLI per l'autenticazione.
gcloud auth loginFai clic sull'URL visualizzato e accedi.
Dopo aver eseguito l'accesso, copia il codice di verifica visualizzato e incollalo nella riga di comando.
Esegui questo comando per specificare il progetto che contiene le applicazioni che vuoi continuare a proteggere con IAP.
gcloud config set project PROJECT_IDEsegui 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.
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.yamlAggiorna il file
settings.yamle aggiungi l'ID client OAuth 2.0 recuperato in precedenza inprogrammaticClients, come mostrato nell'esempio seguente.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDApplica le nuove impostazioni all'applicazione App Engine
gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_IDPer eseguire la migrazione delle tue app, esegui questo comando.
gcloud iap web enable --resource-type=app-engine
API
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"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.jsonAggiorna il file
settings.jsonper aggiungere CLIENT_ID salvato in precedenza come client di pubblicità programmatica.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }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"Esegui il comando seguente per preparare un file
settings.json.cat << EOF > settings.json { "iap": { "enabled":true } } EOFEsegui 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"
Esegui la migrazione delle 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, consulta Installa gcloud CLI.
Utilizza Google Cloud CLI per l'autenticazione.
gcloud auth loginFai clic sull'URL visualizzato e accedi.
Dopo aver eseguito l'accesso, copia il codice di verifica visualizzato e incollalo nella riga di comando.
Esegui questo comando per specificare il progetto che contiene le applicazioni che vuoi continuare a proteggere con IAP.
gcloud config set project PROJECT_IDEsegui 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 del comando precedente se vuoi consentire l'accesso programmatico.
Per concedere al client OAuth 2.0 l'accesso programmatico, esegui un'operazione di lettura-aggiornamento-scrittura sull'API delle impostazioni di IAP.
Ambito globale
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME > settings.yamlAmbito regionale
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME > settings.yamlAggiorna il file
settings.yamle aggiungi l'ID client OAuth 2.0 recuperato in precedenza inprogrammaticClients, come mostrato nell'esempio seguente:accessSettings: oauthSettings: programmaticClients: - CLIENT_IDApplica 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
Per eseguire la migrazione delle tue applicazioni, esegui questo comando: Per cancellare l'ID client OAuth e il secret OAuth, passa uno spazio singolo tra virgolette (
" ") nel comando. Il servizio di backend utilizza il client OAuth gestito da Google.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=" "Per confermare di aver rimosso l'ID client OAuth e il client secret OAuth e che il servizio di backend utilizza un client OAuth gestito da Google, esegui gcloud compute backend-services describe. Per cancellare questi campi durante la migrazione, il comando
gcloud compute backend-services updateutilizza un singolo spazio (" "), che l'API Compute Engine interpreta come un'istruzione per rimuovere i valorioauth2ClientIdeoauth2ClientSecret.Ambito globale
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --globalAmbito regionale
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAMEDopo aver eseguito il comando
describe, esamina la sezioneiapdell'output. Una migrazione riuscita è indicata quando il campooauth2ClientIdmostra un singolo spazio (' ') e il campooauth2ClientSecretcontiene l'hash SHA256 (36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068) di un singolo spazio.
API
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"
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
Aggiorna il file
settings.jsonper aggiungere CLIENT_ID salvato in precedenza come cliente di pubblicità programmatica.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }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"
Esegui il comando seguente per preparare un file
settings.json.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOFEsegui 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"
Per verificare che l'ID client OAuth non sia impostato, esegui il seguente comando con scope globale o regionale. Dopo aver eseguito il comando, controlla l'output per assicurarti che il campo dell'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, aggiorna i valori
con un singolo carattere di 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 utilizzi nuove risorse abilitate per IAP, puoi ignorarli.
Per ulteriori informazioni sull'utilizzo di Terraform con Google Cloud, consulta la documentazione di Terraform.
Esegui la migrazione delle risorse Cloud Run abilitate per 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.
Per eseguire l'autenticazione, utilizza Google Cloud CLI ed esegui questo comando.
gcloud auth loginFai clic sull'URL visualizzato e accedi.
Dopo aver eseguito l'accesso, copia il codice di verifica visualizzato e incollalo nella riga di comando.
Esegui questo comando per specificare il progetto che contiene le applicazioni che vuoi continuare a proteggere con IAP.
gcloud config set project PROJECT_IDEsegui 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 del comando precedente se vuoi consentire l'accesso programmatico.
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.yamlAmbito regionale
gcloud iap settings get \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAME > settings.yamlAggiorna il file
settings.yamle aggiungi l'ID client OAuth 2.0 recuperato in precedenza inprogrammaticClients, come mostrato nell'esempio.accessSettings: oauthSettings: programmaticClients: - CLIENT_IDApplica le nuove impostazioni all'applicazione Compute Engine.
Ambito globale
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAMEAmbito regionale
gcloud iap settings set settings.yaml \ --resource-type=compute \ --project=PROJECT_ID \ --service=BACKEND_SERVICE_NAME \ --region=REGION_NAMEPer eseguire la migrazione delle risorse, esegui il comando con scope 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=" "Per verificare che l'ID client OAuth non sia impostato, esegui il seguente comando con scope globale o regionale. Dopo aver eseguito il comando, controlla l'output per assicurarti che il campo dell'ID client OAuth sia vuoto.
Ambito globale
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --globalAmbito regionale
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION_NAME
API
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"
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
Aggiorna il file
settings.jsonper aggiungere CLIENT_ID salvato in precedenza come cliente di pubblicità programmatica.{ "accessSettings": { "oauthSettings": { "programmaticClients": [ "CLIENT_ID" ] }, }, }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"
Esegui il comando seguente per preparare un file
settings.json.cat << EOF > settings.json { "iap": { "enabled":true, "oauth2ClientId": " ", "oauth2ClientSecret": " " } } EOFEsegui 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"
Per verificare che l'ID client OAuth non sia impostato, esegui il seguente comando con ambito globale o regionale. Dopo aver eseguito il comando, controlla l'output per assicurarti che il campo dell'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"
Esegui la migrazione delle risorse Google Kubernetes Engine abilitate per IAP
Aggiungi il seguente blocco IAP alla definizione di risorsa personalizzata (CRD) BackendConfig. In questo modo, IAP viene abilitato 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
Utilizza un JWT dell'account di servizio per l'autenticazione in IAP
Puoi eseguire l'autenticazione in IAP senza dover utilizzare l'API Admin OAuth deprecata utilizzando un JWT del service account.
Ottieni 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 della conservazione sicura di questo secret. Secret Manager è il servizio consigliato per archiviare in modo sicuro i client secret OAuth.
Se utilizzi Secret Manager per archiviare il client secret OAuth, consulta Accedi a una versione del secret per istruzioni su come ottenere il client secret.
Verifica se utilizzi l'API Admin IAP OAuth
Per verificare se il tuo progetto utilizza le API OAuth Admin di IAP, consulta Verifica l'utilizzo delle API OAuth Admin.
Alternative all'utilizzo dell'API Admin OAuth
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 degli account di servizio: utilizza i token web JSON (JWT) degli account di servizio per l'autenticazione. Con i JWT dei account di servizio, non è necessario utilizzare i client OAuth.