Creazione di client OAuth per IAP a livello di programmazione

In questa pagina viene descritto come creare in modo programmatico client OAuth da utilizzare con IAP, configurando IAP end-to-end per le applicazioni interne in modo programmatico.

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 soltanto 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 in IAP; pertanto, l'API non consente alcun aggiornamento all'URI di reindirizzamento o ad altri attributi.
  • L'API non opera sui client OAuth creati utilizzando la console Google Cloud.
  • Sono consentiti solo 500 client OAuth per progetto quando si utilizza l'API.
  • I brand della schermata per il consenso OAuth creati dall'API presentano limitazioni specifiche. Per saperne di più, consulta la sezione di seguito.

Informazioni sui brand e sullo stato del brand

La schermata di consenso OAuth, che contiene le informazioni di branding per gli utenti, è nota come brand. I brand possono essere limitati a 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 per chiunque su Internet.

I brand possono essere creati manualmente o in modo programmatico tramite un'API. I brand creati dall'API vengono configurati automaticamente con impostazioni diverse:

  • Sono impostati come interni e devono essere impostati manualmente come desiderati
  • Sono impostati sullo stato "Non revisionato" e deve essere attivata una revisione del brand

Per impostare manualmente un brand interno come pubblico:

  1. Apri la schermata di consenso OAuth.
  2. Seleziona il progetto che preferisci dal menu a discesa.
  3. Nella pagina Schermata consenso OAuth, tieni presente che l'opzione Tipo di utente viene impostata automaticamente su Interno. Per impostarlo su Pubblico, fai clic su Modifica app. Ulteriori opzioni di configurazione saranno disponibili.
  4. In Tipo di applicazione, fai clic su Pubblico.

Per attivare una revisione del brand per un brand creato da un'API non ancora esaminata:

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

Il processo di verifica può richiedere diverse settimane. Riceverai aggiornamenti via email in corso. Scopri di più sulla verifica. Mentre la procedura di verifica è in corso, puoi comunque utilizzare l'applicazione nella tua organizzazione Google Workspace. Scopri di più sul comportamento della tua applicazione prima che venga verificata.

Prima di iniziare

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

  • clientauthconfig.brands.list
  • clientauthconfig.brands.create
  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.listWithSecrets
  • 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 contenente queste autorizzazioni e di concederlo al chiamante.

Configurare OAuth per IAP

I passaggi seguenti spiegano come configurare la schermata per il consenso e creare e autenticare un client per IAP.

  1. Controlla 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 precedenti sono obbligatori per chiamare questa API:

    • supportEmail: l'email dell'assistenza visualizzata nella schermata per il consenso OAuth. Può trattarsi dell'indirizzo di un utente o di un alias di Google Gruppi. Anche se gli account di servizio hanno un indirizzo email, non sono indirizzi email effettivi e non possono essere utilizzati durante la creazione di un brand. Tuttavia, un account di servizio può essere 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

  1. Usa il comando create per creare un client. Utilizza il brand 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]
    
  2. Utilizza l'ID client (client_id nell'esempio sopra) e secret per abilitare IAP. Consulta i seguenti argomenti per ulteriori informazioni sull'abilitazione di IAP utilizzando le credenziali appena create: