Panoramica di Identity-Aware Proxy

In questa pagina vengono descritti i concetti di base di Identity-Aware Proxy (IAP), un servizio globale di Google Cloud.

IAP consente di stabilire un livello di autorizzazione centrale per le applicazioni a cui si accede tramite HTTPS, in modo da poter utilizzare un modello di controllo dell'accesso a livello di applicazione anziché affidarsi a firewall a livello di rete.

I criteri IAP vengono applicati all'intera organizzazione. Puoi definire i criteri di accesso in modo centralizzato e applicarli a tutte le applicazioni e risorse. Quando assegni a un team dedicato la creazione e l'applicazione forzata dei criteri, puoi proteggere il tuo progetto da una definizione o un'implementazione errata dei criteri in qualsiasi applicazione.

Quando utilizzare IAP

Utilizza IAP quando vuoi applicare criteri di controllo degli accessi per applicazioni e risorse. IAP funziona con intestazioni con firma o con l'ambiente API standard dell'ambiente App Engine per proteggere l'app. Con IAP, puoi configurare l'accesso all'applicazione basata su gruppi: una risorsa potrebbe essere accessibile ai dipendenti e inaccessibile per i contrattisti o solo per un reparto specifico.

Come funziona IAP

Quando un'applicazione o una risorsa è protetta da IAP, è possibile accedervi soltanto tramite il proxy dai principali, noti anche come utenti, che dispongono del ruolo IAM (Identity and Access Management) corretto. Gli utenti che accedono a un'applicazione o a una risorsa in base all'IAP sono soggetti ai controlli di accesso granulari implementati dal prodotto in uso senza bisogno di una VPN. Quando un utente tenta di accedere a una risorsa protetta da IAP, IAP esegue controlli di autenticazione e autorizzazione.

App Engine
diagramma del percorso di richiesta per App Engine quando si utilizza Cloud IAP
Cloud Run
diagramma del percorso di richiesta a Cloud Run quando si utilizza Cloud IAP
Compute Engine
diagramma del percorso di richiesta per Compute Engine e Kubernetes Engine quando si utilizza Cloud IAP
GKE
diagramma del percorso di richiesta per Compute Engine e Kubernetes Engine quando si utilizza Cloud IAP
On-premise
diagramma del percorso di richiesta per un'applicazione on-premise quando si utilizza Cloud IAP

Autenticazione

Le richieste alle tue risorse Google Cloud vengono effettuate tramite App Engine, Cloud Load Balancing (esterno e interno, bilanciamento del carico HTTP(S). Il codice dell'infrastruttura di gestione per questi prodotti controlla se IAP è abilitato per il servizio app o backend. Se IAP è abilitato, le informazioni sulla risorsa protetta vengono inviate al server di autenticazione IAP. Ciò include informazioni come il numero di progetto Google Cloud, l'URL della richiesta e le eventuali credenziali IAP nelle intestazioni delle richieste o nei cookie.

Successivamente, IAP controlla le credenziali del browser dell'utente. Se non esiste, l'utente viene reindirizzato a un flusso di accesso all'Account Google OAuth 2.0 che memorizza un token in un cookie del browser per gli accessi futuri. Se devi creare Account Google per i tuoi utenti esistenti, puoi utilizzare Google Cloud Directory Sync per la sincronizzazione con il server Active Directory o LDAP.

Se le credenziali della richiesta sono valide, il server di autenticazione le utilizza per ottenere l'identità dell'utente (indirizzo email e ID utente). Il server di autenticazione utilizza quindi l'identità per verificare il ruolo IAM dell'utente e verificare se l'utente è autorizzato ad accedere alla risorsa.

Se utilizzi Compute Engine o Google Kubernetes Engine, gli utenti che possono accedere alla porta di gestione delle applicazioni della macchina virtuale (VM) possono ignorare l'autenticazione IAP. Le regole del firewall o di Compute Engine non possono proteggersi dall'accesso al codice in esecuzione sulla stessa VM dell'applicazione protetta da IAP. Le regole firewall possono proteggere dall'accesso da un'altra VM, ma solo se configurata correttamente. Scopri le tue responsabilità per garantire la sicurezza.

Se utilizzi Cloud Run, gli utenti che possono accedere all'URL assegnato automaticamente possono ignorare l'autenticazione IAP. I controlli in entrata possono limitare l'accesso per utilizzare il bilanciamento del carico, ma solo se configurato correttamente. Scopri di più sulle responsabilità per garantire la sicurezza.

binaria

Dopo l'autenticazione, IAP applica il criterio IAM pertinente per verificare se l'utente è autorizzato ad accedere alla risorsa richiesta. Se l'utente ha il ruolo Utente applicazione web con protezione IAP nel progetto Cloud Console in cui si trova la risorsa, è autorizzato ad accedere all'applicazione. Per gestire l'elenco di ruoli Utente app web con protezione IAP, utilizza il riquadro IAP in Cloud Console.

Quando attivi IAP per una risorsa, viene creato automaticamente un secret e un ID client OAuth 2.0. Se elimini le credenziali OAuth 2.0 generate automaticamente, IAP non funzionerà correttamente. Puoi visualizzare e gestire le credenziali OAuth 2.0 in API e console di Cloud Console.

Le tue responsabilità

IAP protegge l'autenticazione e l'autorizzazione di tutte le richieste ad App Engine, Cloud Load Balancing (HTTPS) o al bilanciamento del carico HTTP interno. IAP non protegge dalle attività all'interno di un progetto, ad esempio un'altra VM all'interno del progetto.

Per garantire la sicurezza, è necessario adottare le seguenti precauzioni:

  • Configura il firewall e il bilanciatore del carico per proteggerti dal traffico che non passa attraverso l'infrastruttura di gestione.
    • In alternativa, se utilizzi Cloud Run, puoi limitare l'accesso utilizzando i controlli in entrata.
  • Utilizza le intestazioni con firma o l'API Users dell'ambiente standard di App Engine.

Passaggi successivi