Creazione di client OAuth per IAP a livello di programmazione

In questa pagina viene descritto come creare in modo programmatico i client OAuth da utilizzare con IAP, in modo da poter 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, 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 di consenso OAuth creata dall'API presentano limitazioni specifiche. Per ulteriori informazioni, consulta la sezione di seguito.

Informazioni sui brand e sullo stato del branding

La schermata per il consenso OAuth, che contiene le informazioni sul branding per gli utenti, è nota come brand. I brand possono essere limitati a utenti interni o utenti 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 tutti 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 su pubblico se vuoi
  • Lo stato è "non revisionato" 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 ti interessa dal menu a discesa.
  3. Nella pagina Schermata per il consenso OAuth, tieni presente che il Tipo di utente viene impostato automaticamente su Interno. Per impostarlo su Pubblico, fai clic su Modifica app. Sono disponibili altre opzioni di configurazione.
  4. In Tipo di applicazione, fai clic su Pubblico.

Per attivare una revisione di un brand creato da un'API non esaminata, procedi nel seguente modo:

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

La procedura di verifica può richiedere diverse settimane. Riceverai aggiornamenti via email man mano che procedi. 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 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 che contenga queste autorizzazioni e di concederlo al chiamante.

Configurare OAuth per IAP

I passaggi seguenti descrivono come configurare la schermata per il consenso e creare e creare un client OAuth 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 quando chiami 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 validi e non possono essere utilizzati durante la creazione di 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 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. Utilizza il comando Crea 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 gli argomenti seguenti per saperne di più sull'attivazione di IAP utilizzando le credenziali appena create: