Creazione di client OAuth per IAP in modo programmatico

Questa pagina descrive come creare programmatically client OAuth da utilizzare con IAP, in modo da configurare IAP programmatically end-to-end per le applicazioni interne.

Limitazioni note

Esistono alcune limitazioni per i client OAuth creati tramite programmazione con 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 quindi 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 di consenso OAuth creati tramite API presentano limitazioni specifiche. Per ulteriori informazioni, consulta la sezione di seguito.

Informazioni sugli stati dei brand e del branding

La schermata di 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 un utente che appartiene alla stessa organizzazione Google Workspace del progetto. Un brand pubblico rende il flusso OAuth disponibile per chiunque su internet.

I brand possono essere creati manualmente o tramite programmazione tramite un'API. I brand creati con l'API vengono configurati automaticamente con impostazioni diverse:

  • Sono impostati come interni e devono essere impostati manualmente come pubblici, se lo si desidera
  • Sono impostati su uno stato "non recensito" e deve essere attivata una revisione del brand

Per impostare manualmente un brand interno come pubblico:

  1. Apri la schermata per il consenso OAuth.
  2. Seleziona il progetto che preferisci dal menu a discesa.
  3. Nella pagina Schermata di consenso OAuth, tieni presente che il Tipo di utente è impostato automaticamente su Interno. Per impostarlo su Pubblico, fai clic su Modifica app. Saranno disponibili altre opzioni di configurazione.
  4. In Tipo di applicazione, fai clic su Pubblica.

Per attivare una revisione del brand per un brand creato con l'API non recensito:

  1. Apri la schermata per il consenso OAuth.
  2. Seleziona il progetto che preferisci dal menu a discesa.
  3. Nella pagina Schermata per il consenso OAuth, inserisci le informazioni richieste e poi fai clic su Invia per la verifica.

Il processo di verifica può richiedere diverse settimane. Riceverai aggiornamenti via email nel corso dell'elaborazione. Scopri di più sulla verifica. Mentre il processo di verifica è in corso, puoi comunque utilizzare l'applicazione all'interno della tua organizzazione Google Workspace. Scopri di più sul comportamento della tua applicazione prima della verifica.

Prima di iniziare

Prima di poter creare un client, assicurati innanzitutto che al chiamante siano state concesse le seguenti autorizzazioni:

  • clientauthconfig.brands.list
  • clientauthconfig.brands.create
  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.listWithSecrets (obbligatorio solo per elencare i clienti OAuth con segreto).
  • clientauthconfig.clients.getWithSecret
  • clientauthconfig.clients.delete
  • clientauthconfig.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 all'utente che effettua la chiamata.

Configurare OAuth per IAP

I passaggi riportati di seguito descrivono come configurare la schermata per il consenso e creare un client OAuth per IAP.

  1. Verifica se hai già un brand utilizzando il comando list. Puoi avere un solo brand per progetto.

    gcloud iap oauth-brands list

    Di seguito è riportato un esempio di risposta gcloud, se il brand esiste:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    
  2. Se non esiste alcun 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 si chiama questa API:

    • supportEmail: l'indirizzo email dell'assistenza visualizzato nella schermata per il consenso OAuth. Questo indirizzo email può essere l'indirizzo di un utente o un alias di Google Gruppi. Sebbene gli account di servizio abbiano anche un indirizzo email, non sono indirizzi email validi e non possono essere utilizzati per creare un brand. Tuttavia, un account di servizio può essere il proprietario di un gruppo Google. Crea un nuovo gruppo Google o configura un gruppo esistente e imposta l'account del 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

  1. Utilizza il comando create per creare un cliente. Utilizza la marca name del 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 IAP. Per ulteriori informazioni su come attivare l'IAP utilizzando le credenziali appena create, consulta i seguenti argomenti: