Autentica gli utenti con gli Account Google

Questa pagina illustra come eseguire il deployment di un'applicazione di ambiente standard o flessibile di App Engine e come proteggerla con Identity-Aware Proxy (IAP). La guida rapida include codice campione per un'app web dell'ambiente standard di App Engine che verifica il nome dell'utente che ha eseguito l'accesso. Questa guida rapida utilizza Cloud Shell per clonare l'applicazione di esempio ed eseguirne il deployment. Puoi utilizzare questa guida rapida per abilitare IAP per il tuo ambiente standard di App Engine o per la tua applicazione nell'ambiente flessibile di App Engine.

Se prevedi di pubblicare risorse da una rete CDN (Content Delivery Network), consulta la guida alle best practice per avere informazioni importanti.

Quando un'applicazione App Engine è composta da più servizi, è possibile configurare autorizzazioni IAP diverse sui diversi servizi, ad esempio rendendo accessibili pubblicamente ad alcuni servizi e mantenendo protetti gli altri.


Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Aiuto:

Aiuto


Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

Prima di iniziare

Per abilitare IAP per App Engine, occorre quanto segue:

  • Un progetto della console Google Cloud con fatturazione abilitata.

Se non hai già configurato l'istanza di App Engine, consulta la pagina relativa al deployment di App Engine per una procedura dettagliata completa.

IAP utilizza un client OAuth gestito da Google per autenticare gli utenti. Solo gli utenti all'interno dell'organizzazione possono accedere all'applicazione abilitata per IAP. Se vuoi consentire l'accesso agli utenti esterni alla tua organizzazione, vedi Attivare IAP per le applicazioni esterne.

Abilitazione di IAP in corso...

Console

Il client OAuth gestito da Google non è disponibile quando si abilita IAP utilizzando la console Google Cloud.

If you haven't configured your project's OAuth consent screen, you'll be prompted to do so. To configure your OAuth consent screen, see Setting up your OAuth consent screen.

Setting up IAP access

  1. Go to the Identity-Aware Proxy page.
    Go to the Identity-Aware Proxy page
  2. Select the project you want to secure with IAP.
  3. Select the checkbox next to the resource you want to grant access to.
  4. On the right side panel, click Add principal.
  5. In the Add principals dialog that appears, enter the email addresses of groups or individuals who should have the IAP-secured Web App User role for the project.

    The following kinds of principals can have this role:

    • Google Account: user@gmail.com
    • Google Group: admins@googlegroups.com
    • Service account: server@example.gserviceaccount.com
    • Google Workspace domain: example.com

    Make sure to add a Google Account that you have access to.

  6. Select Cloud IAP > IAP-secured Web App User from the Roles drop-down list.
  7. Click Save.

Turning on IAP

  1. On the Identity-Aware Proxy page, under APPLICATIONS, find the application you want to restrict access to. To turn on IAP for a resource,
  2. In the Turn on IAP window that appears, click Turn On to confirm that you want IAP to secure your resource. After you turn on IAP, it requires login credentials for all connections to your load balancer. Only accounts with the IAP-Secured Web App User role on the project will be given access.

gcloud

Before you set up your project and IAP, you need an up-to-date version of the gcloud CLI. For instructions on how to install the gcloud CLI, see Install the gcloud CLI.

  1. To authenticate, use the Google Cloud CLI and run the following command.
    gcloud auth login
  2. Click the URL that appears and sign in.
  3. After you sign in, copy the verification code that appears and paste it in the command line.
  4. Run the following command to specify the project that contains the applications that you want to protect with IAP.
    gcloud config set project PROJECT_ID
  5. To enable IAP, run the following command.
    gcloud iap web enable --resource-type=app-engine --versions=version

After you enable IAP, you can use the gcloud CLI to modify the IAP access policy using the IAM role roles/iap.httpsResourceAccessor. Learn more about managing roles and permissions.

API

  1. Run the following command to prepare a settings.json file.

    cat << EOF > settings.json
    {
    "iap":
      {
        "enabled":true
      }
    }
    EOF
    

  2. Run the following command to enable IAP.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
    

After you enable IAP, you can use the Google Cloud CLI to modify the IAP access policy using the IAM role roles/iap.httpsResourceAccessor. Learn more about managing roles and permissions.

Testare l'autenticazione degli utenti

  1. Accedi all'URL dell'app da un Account Google che hai aggiunto a IAP con il ruolo Utente applicazione web con protezione IAP come descritto sopra. Devi avere accesso illimitato all'app.

  2. Utilizza una finestra di navigazione in incognito in Chrome per accedere all'app e accedi quando ti viene richiesto. Se tenti di accedere all'app con un account che non è autorizzato con il ruolo Utente applicazione web con protezione IAP, vedrai un messaggio che indica che non disponi dell'accesso.

Passaggi successivi