Questa pagina descrive come creare in modo programmatico client OAuth da utilizzare con IAP, consentendoti di configurare IAP in modo programmatico end-to-end per le applicazioni interne.
Limitazioni note
Esistono alcune limitazioni per i client OAuth creati in modo programmatico utilizzando questa API:
- I client OAuth creati dall'API possono essere modificati solo utilizzando l'API. Non puoi modificare un client OAuth tramite la console Google Cloud se è stato creato utilizzando l'API.
- I client OAuth creati dall'API sono bloccati solo per l'utilizzo di IAP e pertanto l'API non consente aggiornamenti all'URI di reindirizzamento o ad altri attributi.
- L'API non opera sui client OAuth creati utilizzando la console Google Cloud .
- Quando utilizzi l'API, sono consentiti solo 500 client OAuth per progetto.
- I brand della schermata per il consenso OAuth creati tramite API hanno limitazioni specifiche. Per maggiori informazioni, consulta la pagina Informazioni sui brand e sullo stato del branding.
Informazioni sui brand e sullo stato del branding
La schermata per il consenso OAuth, che contiene informazioni sul branding per gli utenti, è nota come brand. I brand possono essere limitati agli utenti interni o pubblici. Un brand interno rende il flusso OAuth accessibile a chi appartiene alla stessa organizzazione Google Workspace del progetto. Un brand pubblico rende il flusso OAuth disponibile a chiunque su internet.
I brand possono essere creati manualmente o in modo programmatico tramite un'API. I brand creati tramite API vengono configurati automaticamente con impostazioni diverse:
Sono impostati come interni e devono essere impostati manualmente come pubblici se selezionati
Sono impostati sullo stato "Non esaminato" e deve essere attivata una revisione del brand
Per impostare manualmente un brand interno su pubblico:
- Apri la schermata per il consenso OAuth.
- Seleziona il progetto selezionato dal menu a discesa.
- Nella pagina Schermata per il consenso OAuth, tieni presente che il Tipo di utente è impostato automaticamente su Interno. Per impostarlo su Pubblico, fai clic su Modifica app. Vengono visualizzate altre opzioni di configurazione.
- In Tipo di applicazione, fai clic su Pubblico.
Per attivare una revisione del brand per un brand creato tramite API non esaminato:
- Apri la schermata per il consenso OAuth.
- Seleziona il tuo progetto dal menu a discesa.
- Nella pagina Schermata per il consenso OAuth, inserisci le informazioni richieste e poi fai clic su Invia per la verifica.
La procedura di verifica può richiedere diverse settimane e riceverai aggiornamenti via email man mano che procede. Scopri di più sulla verifica. Durante la procedura di verifica, puoi comunque utilizzare l'applicazione all'interno della tua organizzazione Google Workspace. Scopri di più su come si comporterà la tua applicazione prima della verifica.
Prima di iniziare
Prima di poter creare un client, assicurati che al chiamante siano state concesse le seguenti autorizzazioni:
clientauthconfig.brands.listclientauthconfig.brands.createclientauthconfig.brands.getclientauthconfig.clients.createclientauthconfig.clients.listWithSecrets(obbligatorio solo per elencare i client OAuth con secret).clientauthconfig.clients.getWithSecretclientauthconfig.clients.deleteclientauthconfig.clients.update
Queste autorizzazioni sono incluse nei ruoli di base Editor (roles/editor) e Proprietario (roles/owner),
tuttavia ti consigliamo di creare un ruolo personalizzato che contenga queste autorizzazioni e di concederlo al chiamante.
Configura OAuth per IAP
I seguenti passaggi descrivono come configurare la schermata per il consenso e creare un client OAuth per IAP.
Configurare la schermata per il consenso
Controlla se hai già un brand esistente utilizzando il comando list. Puoi avere un solo brand per progetto.
gcloud iap oauth-brands list
Di seguito è riportato un esempio di risposta di gcloud, se il brand esiste:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: trueSe non esiste un brand, utilizza il comando create:
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
I campi sopra indicati sono obbligatori quando chiami questa API:
supportEmail: l'email di assistenza visualizzata nella schermata per il consenso OAuth. Questo indirizzo email può essere l'indirizzo di un utente o un alias di Google Gruppi. Anche se gli account di servizio hanno un indirizzo email, non sono indirizzi email validi e non possono essere utilizzati per creare un brand. Tuttavia, unaccount di serviziot può essere il proprietario di un gruppo Google. Crea un nuovo gruppo Google o configura un gruppo esistente e imposta l'account di servizio desiderato come proprietario del gruppo.applicationTitle: Il nome dell'applicazione visualizzato nella schermata per il consenso OAuth.
La risposta contiene i seguenti campi:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
Creazione di un client OAuth IAP
Utilizza il comando create per creare un client. Utilizza il brand
namedel passaggio precedente.gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
La risposta contiene i seguenti campi:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID] secret: [CLIENT_SECRET] displayName: [NAME]
Utilizza l'ID client (client_id nell'esempio precedente) e secret per attivare
IAPp. Per saperne di più sull'attivazione di IAP utilizzando le credenziali che hai appena creato, consulta i seguenti argomenti: