Passaggio 4: configura Identity-Aware Proxy (IAP)

In questo passaggio, configuri Identity-Aware Proxy (IAP) per eseguire il provisioning di un livello di autorizzazione centralizzato per l'app di cui è stato eseguito il deployment in Cloud Run, come segue:

  1. Configura la schermata per il consenso OAuth:la schermata per il consenso OAuth è una richiesta che include un riepilogo del progetto, dei suoi criteri e degli ambiti di autorizzazione di accesso richiesti. Configurando la schermata di consenso OAuth per la tua app, definisci cosa è disponibile per gli utenti e i revisori delle app e registri la tua app in modo da poterla pubblicare in un secondo momento. Per scoprire di più sulla schermata per il consenso OAuth, consulta Configurare la schermata per il consenso OAuth e scegliere gli ambiti.

  2. Crea le credenziali di accesso OAuth:devi creare un ID client OAuth per la tua app e il tuo dominio, in modo che l'app possa chiamare le API richieste. Per scoprire di più sulle credenziali OAuth, consulta Creare le credenziali di accesso.

  3. Abilita IAP sul bilanciatore del carico: utilizza l'ID client e il segreto OAuth per abilitare IAP sul bilanciatore del carico che hai creato per la tua app.

  4. Attiva IAP: per proteggere la tua app, crea entità principali che possono accedervi e poi attiva IAP.

  1. Nella console Google Cloud, vai alla schermata di consenso OAuth.

    Vai alla schermata per il consenso OAuth

  2. Seleziona uno dei seguenti tipi di utenti per la tua app:

    • Esterno: qualsiasi utente con un Account Google può inviare richieste di autorizzazione. Ai fini del completamento di questo tutorial, ti consigliamo di selezionare Esterno.

    • Interno: solo i membri della tua Google Cloud organizzazione possono effettuare richieste di autorizzazione all'app.

  3. Fai clic su Crea.

  4. Nella sezione Domini autorizzati, Aggiungi dominio e specifica il nome di dominio utilizzato durante la creazione del certificato.

  5. Nella sezione Informazioni di contatto dello sviluppatore, inserisci il tuo indirizzo email.

  6. Fai clic su Salva e continua.

  7. Nella pagina Ambiti, fai clic su Salva e continua.

  8. (Facoltativo) Se hai selezionato Esterno come tipo di utente, aggiungi gli utenti di test nella pagina Utenti di test come segue:

    1. Fai clic su Aggiungi utenti.

    2. Inserisci il tuo indirizzo email e gli altri utenti di test autorizzati, quindi fai clic su Salva e continua.

  9. Rivedi il riepilogo della registrazione dell'app. Per apportare modifiche, fai clic su Modifica. Se la registrazione dell'app sembra corretta, fai clic su Torna alla dashboard.

Crea le credenziali di accesso OAuth

  1. Nella console Google Cloud, vai a Credenziali.

    Vai a credenziali

  2. Fai clic su Crea credenziali e poi su ID client OAuth.

  3. Nell'elenco Tipo di applicazione, fai clic su Applicazione web.

  4. Nel campo Nome, inserisci gemini-streamlit-app.

  5. Nella sezione Origini JavaScript autorizzate, fai clic su Aggiungi URI e poi inserisci il seguente URI:

    https://DOMAIN_NAME
    

    Sostituisci DOMAIN_NAME con il nome di dominio utilizzato durante la creazione del certificato.

  6. Fai clic su Crea.

    Viene visualizzata la schermata Client OAuth creato, che mostra l'ID client e il client secret.

  7. Copia l'ID client e la chiave segreta del client. Ti serviranno i dettagli nel passaggio successivo del tutorial.

Abilita IAP sul bilanciatore del carico

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Nel terminale Cloud Shell, esegui il seguente comando:
    
          gcloud compute backend-services update gemini-streamlit-app-backend \
          --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \
          --global
          

    Sostituisci quanto segue

    • CLIENT_ID: l'ID client OAuth delle credenziali OAuth che hai appena creato.
    • CLIENT_SECRET: il client secret OAuth delle credenziali OAuth che hai appena creato.

Configurare e utilizzare IAP

  1. Vai alla pagina Identity-Aware Proxy.

    Vai alla pagina Identity-Aware Proxy

  2. Seleziona il progetto.

  3. Seleziona la casella di controllo accanto a gemini-streamlit-app-backend.

  4. Fai clic su Aggiungi entità.

  5. Inserisci i dettagli nei seguenti campi:

    • Nuove entità: inserisci gli indirizzi email di gruppi o privati per grantirgli l'accesso alla tua app. Uno dei seguenti elementi può essere un'entità:

      • Account Google

      • Gruppo Google

      • Service account

      • Dominio Google Workspace

      Assicurati di includere un Account Google a cui hai accesso.

  6. Nell'elenco Ruolo, seleziona Cloud IAP > Utente applicazione web con protezione IAP.

  7. Fai clic su Salva.

  8. Nella pagina Identity-Aware Proxy, fai clic su IAP per attivare l'opzione nella riga corrispondente alla risorsa gemini-streamlit-app-backend in Applicazioni.

  9. Nella finestra Attiva gli acquisti in-app visualizzata, seleziona la casella di controllo per confermare di aver letto i requisiti di configurazione e di aver configurato il backend di conseguenza.

  10. Fai clic su Attiva. Dopo aver attivato IAP, sono necessarie le credenziali di accesso per tutte le connessioni al bilanciatore del carico. Solo gli account con il ruolo Utente applicazione web con protezione IAP nel progetto ricevono l'accesso concesso.