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, nel seguente modo:

  1. Configura la schermata per il consenso OAuth:la schermata per il consenso OAuth è un prompt che include un riepilogo del progetto, delle relative policy e degli ambiti di accesso all'autorizzazione richiesti. Configurando la schermata per il consenso OAuth per la tua app, definisci cosa è disponibile per gli utenti e i revisori delle app e registri anche la tua app in modo da poterla pubblicare in un secondo momento. Per saperne di più sulla schermata per il consenso OAuth, consulta Configurare la schermata per il consenso OAuth e scegliere gli ambiti.

  2. Crea credenziali di accesso OAuth:devi creare un ID client OAuth per la tua app e il tuo dominio, in modo che la tua 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 OAuth e il segreto per abilitare IAP sul bilanciatore del carico che hai creato per la tua app.

  4. Attiva IAP: proteggi la tua app creando principal che possono accedere alla tua app e poi attivando IAP.

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

    Vai alla schermata per il consenso OAuth

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

    • Esterno: qualsiasi utente con un Account Google può effettuare richieste di autorizzazione. Per completare questo tutorial, ti consigliamo di selezionare Esterno.

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

  3. Fai clic su Crea.

  4. Nella sezione Domini autorizzati, fai clic su 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 utenti di test nella pagina Utenti di test nel seguente modo:

    1. Fai clic su Add users (Aggiungi utenti).

    2. Inserisci il tuo indirizzo email e gli altri utenti di test autorizzati, poi 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 il client secret. Ti serviranno i dettagli nel passaggio successivo del tutorial.

Abilitare 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 questo 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 a cui concedere l'accesso alla tua app. Qualsiasi dei seguenti 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, nella sezione Applicazioni, fai clic sull'opzione di attivazione/disattivazione IAP nella riga corrispondente alla risorsa gemini-streamlit-app-backend.

  9. Nella finestra Attiva 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 hanno accesso.