Questa pagina spiega come proteggere un'istanza Compute Engine con Identity-Aware Proxy (IAP).
Per proteggere le risorse non su Google Cloud, vedi Sicurezza delle app e delle risorse on-premise.
Prima di iniziare
Per abilitare IAP per Compute Engine, devi disporre di:
- Un progetto della console Google Cloud con fatturazione abilitata.
- Un gruppo di una o più istanze Compute Engine, gestito da un bilanciatore del carico.
- Scopri di più sulla configurazione di un bilanciatore del carico HTTPS esterno.
- Scopri di più sulla configurazione di un bilanciatore del carico HTTP interno.
- Un nome di dominio registrato all'indirizzo del bilanciatore del carico.
- Codice dell'applicazione per verificare che tutte le richieste abbiano un'identità.
- Scopri di più su come ottenere l'identità dell'utente.
Se non hai ancora configurato l'istanza di Compute Engine, consulta la pagina Configurare IAP per Compute Engine per una procedura dettagliata completa.
Abilitazione di IAP tramite Google Cloud Console
Configurare la schermata per il consenso OAuth
Se non hai configurato la schermata per il consenso OAuth del progetto, devi farlo. Per la schermata per il consenso OAuth sono necessari un indirizzo email e il nome del prodotto.
-
Vai alla schermata di consenso OAuth.
Configurare la schermata per il consenso - In Email di assistenza, seleziona l'indirizzo email che vuoi visualizzare come contatto pubblico. L'indirizzo email deve appartenere all'account utente attualmente connesso o a un gruppo Google di cui fa parte l'utente che ha eseguito l'accesso.
- Inserisci il Nome applicazione che vuoi visualizzare.
- Aggiungi eventuali dettagli facoltativi.
- Fai clic su Salva.
Per modificare in seguito le informazioni sulla schermata di consenso OAuth, ad esempio il nome del prodotto o l'indirizzo email, ripeti i passaggi precedenti per configurare la schermata di consenso.
Creazione delle credenziali OAuth
-
Vai alla pagina Credenziali.
Vai alla pagina Credenziali - Nel menu a discesa Crea credenziali, seleziona ID client OAuth.
- In Tipo di applicazione, seleziona Applicazione web.
- Aggiungi un nome per l'ID client OAuth.
-
Fai clic su Crea.
L'ID client OAuth e il client secret vengono generati e visualizzati nella finestra Client OAuth.
- Nella finestra di dialogo Client OAuth creato, copia l'ID client negli appunti.
- Fai clic su OK.
- Fai clic sul nome del client appena creato per riaprirlo per la modifica.
-
Nel campo URI di reindirizzamento autorizzati, inserisci la seguente stringa:
https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect
dove
CLIENT_ID
è l'ID client OAuth che hai appena copiato negli appunti.
Configurazione dell'accesso IAP
-
Vai alla pagina Identity-Aware Proxy.
Vai alla pagina Identity-Aware Proxy - Seleziona il progetto che vuoi proteggere con IAP.
- Seleziona la casella di controllo accanto alla risorsa a cui vuoi concedere l'accesso.
- Nel riquadro laterale a destra, fai clic su Aggiungi entità.
-
Nella finestra di dialogo Aggiungi entità che viene visualizzata, inserisci gli indirizzi email dei gruppi o delle persone che devono avere il ruolo Utente applicazione web con protezione IAP per il progetto.
I seguenti tipi di entità possono avere questo ruolo:
- Account Google: user@gmail.com
- Gruppo Google: admins@googlegroups.com
- Account di servizio: server@example.gserviceaccount.com
- Dominio Google Workspace: example.com
Assicurati di aggiungere un Account Google a cui hai accesso.
- Seleziona Cloud IAP > Utente dell'app web con protezione IAP dall'elenco a discesa Ruoli.
- Fai clic su Salva.
Attivazione di IAP
-
Nella pagina Identity-Aware Proxy, in Applicazioni,
trova il bilanciatore del carico che gestisce instance group per il quale vuoi limitare
l'accesso. Per attivare IAP per una risorsa,
Per abilitare IAP:- Almeno un protocollo nella configurazione del frontend del bilanciatore del carico deve essere HTTPS. Scopri di più sulla configurazione di un bilanciatore del carico.
-
Devi avere le autorizzazioni
compute.backendServices.update
,clientauthconfig.clients.create
eclientauthconfig.clients.getWithSecret
. Queste autorizzazioni sono concesse dai ruoli, ad esempio il ruolo di Editor di progetto. Per saperne di più, vedi Gestire l'accesso alle risorse protette da IAP.
- Nella finestra Attiva IAP che viene visualizzata, fai clic su Attiva per confermare che vuoi abilitare IAP per proteggere la tua risorsa. Dopo l'attivazione, IAP richiederà le credenziali di accesso per tutte le connessioni al bilanciatore del carico. Verrà concesso l'accesso solo agli account con il ruolo Utente applicazione web con protezione IAP nel progetto.
Abilitazione di IAP tramite Google Cloud SDK
Questa sezione descrive come utilizzare lo strumento a riga di comando gcloud per attivare IAP per le applicazioni Compute Engine. L'uso dello strumento a riga di comando gcloud per attivare IAP per App Engine non è ancora supportato. Utilizza la guida rapida di App Engine.
Recupero dell'interfaccia a riga di comando di Google Cloud
Prima di configurare il progetto e IAP, devi disporre di una versione aggiornata dell'interfaccia a riga di comando gcloud. Scarica l'interfaccia a riga di comando gcloud.
Configurazione del progetto
Seleziona il progetto per il quale vuoi abilitare IAP e configuralo nel seguente modo:
- Vai alla pagina Gruppi di istanze per assicurarti che le istanze si trovino in un gruppo di istanze.
- Definisci i servizi di backend.
- Configura il bilanciamento del carico esterno o interno.
- Configura un client OAuth:
- Vai ad API > Credentials e seleziona il progetto per cui vuoi abilitare IAP.
-
Configura la schermata di consenso OAuth:
-
Vai alla schermata di consenso OAuth.
Configurare la schermata per il consenso - In Email di assistenza, seleziona l'indirizzo email che vuoi visualizzare come contatto pubblico. L'indirizzo email deve appartenere all'account utente attualmente connesso o a un gruppo Google di cui fa parte l'utente che ha eseguito l'accesso.
- Inserisci il Nome applicazione che vuoi visualizzare.
- Aggiungi eventuali dettagli facoltativi.
- Fai clic su Salva.
Per modificare in seguito le informazioni sulla schermata di consenso OAuth, ad esempio il nome del prodotto o l'indirizzo email, ripeti i passaggi precedenti per configurare la schermata di consenso.
-
Vai alla schermata di consenso OAuth.
- Nella sezione Credenziali, fai clic su Crea credenziali > ID client OAuth.
- In Tipo di applicazione, seleziona Applicazione web, quindi aggiungi un Nome.
- Dopo avere inserito i dettagli, fai clic su Crea.
- Nella finestra Client OAuth visualizzata, prendi nota dell'ID client e del client secret.
-
Seleziona di nuovo il cliente. Aggiungi l'URL di reindirizzamento universale al campo URI di reindirizzamento autorizzati nel formato
https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect
, dove CLIENT_ID è l'ID client OAuth.
Abilitazione di IAP
-
Utilizza l'interfaccia a riga di comando di Google Cloud per eseguire
gcloud auth login
. - Segui l'URL che sembra accedere.
- Una volta eseguito l'accesso, copia il codice di verifica visualizzato e incollalo nella riga di comando.
-
Esegui
gcloud config set project PROJECT_ID
per il progetto per cui vuoi abilitare IAP. -
Per abilitare IAP, utilizza l'ID client OAuth e il secret creati in precedenza ed esegui il comando con ambito globale o a livello di area geografica.
-
Ambito globale:
gcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
. -
Ambito a livello di area geografica:
gcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
.
-
Ambito globale:
Dopo aver abilitato IAP, puoi utilizzare lo strumento a riga di comando gcloud per manipolare il criterio di accesso IAP utilizzando il ruolo IAM roles/iap.httpsResourceAccessor
. Scopri di più sulla gestione dei ruoli e delle autorizzazioni.
Passaggi successivi
- Imposta regole di contesto più avanzate applicando i livelli di accesso.
- Visualizza le richieste di accesso attivando Cloud Audit Logs.
- Scopri di più su IAP.