Questo documento fornisce una panoramica generale del servizio Gestore contesto accesso e delle relative funzioni. Google Cloud Gli amministratori dell'organizzazione possono utilizzare Gestore contesto accesso per definire un controllo dell'accesso granulare e basato sugli attributi per progetti e risorse in Google Cloud. In qualità di amministratore, devi prima definire una policy di accesso, ovvero un container a livello di organizzazione per i livelli di accesso e i perimetri di servizio.
I livelli di accesso descrivono i requisiti che le richieste devono soddisfare per essere accettate. Ecco alcuni esempi:
- Tipo di dispositivo e sistema operativo
- Indirizzo IP
- Identità utente
I perimetri di servizio definiscono le sandbox delle risorse. Le risorse all'interno del perimetro possono scambiare dati liberamente, ma non possono esportare dati al di fuori del perimetro. Gestore contesto accesso non è responsabile dell'applicazione delle policy. È invece progettato per definire regole o contesti specifici. La policy viene configurata e applicata in vari punti, ad esempio Controlli di servizio VPC. Per saperne di più su questi servizi, consulta le rispettive guide utente.
Puoi configurare e applicare le policy di Gestore contesto accesso nei seguenti componenti della soluzione Chrome Enterprise Premium:
Vantaggi
Molte aziende si affidano a un modello di sicurezza perimetrale, come un firewall, per proteggere le risorse interne. Un modello di sicurezza perimetrale è fortemente protetto con un unico punto di ingresso e uscita. Tutto ciò che si trova al di fuori del perimetro è considerato pericoloso. Tutto ciò che si trova all'interno è considerato attendibile.
I firewall e il modello di sicurezza perimetrale funzionano bene se esiste un confine ben definito intorno a utenti e servizi specifici. Tuttavia, se la forza lavoro è mobile, la varietà di dispositivi aumenta man mano che gli utenti portano i propri dispositivi (BYOD) e utilizzano servizi basati sul cloud. Questo scenario comporta ulteriori vettori di attacco che non vengono presi in considerazione dal modello perimetrale. Per questo motivo, il perimetro non è più solo la posizione fisica dell'azienda e ciò che si trova al suo interno non può essere considerato sicuro.
Puoi utilizzare Gestore contesto accesso per ridurre le dimensioni della rete con privilegi e passare a un modello in cui gli endpoint non hanno un'autorità ambientale basata sulla rete. Puoi invece concedere l'accesso in base al contesto della richiesta, ad esempio il tipo di dispositivo, l'identità utente e altro ancora, controllando comunque l'accesso alla rete aziendale, se necessario.
Gestore contesto accesso è parte integrante dell'iniziativa BeyondCorp di Google. Per saperne di più, consulta BeyondCorp.Criteri di accesso
Un criterio di accesso è un container per tutte le risorse di Gestore contesto accesso, come livelli di accesso e perimetri di servizio.
Puoi creare un criterio di accesso nel contesto di un'organizzazione e utilizzare il criterio di accesso a livello di organizzazione ovunque nella tua organizzazione. Per delegare l'amministrazione di un criterio di accesso, puoi creare un criterio di accesso con ambito e impostare l'ambito del criterio a livello di cartella o progetto. L'amministratore delegato a cui è assegnato il criterio con ambito può gestire solo il criterio di accesso con ambito e non il criterio di accesso a livello di organizzazione.
Un criterio di accesso è sottoposto a controllo delle versioni utilizzando un etag.
Puoi utilizzare etag per indirizzare le modifiche al criterio di accesso, ad esempio le modifiche ai livelli di accesso o a una versione specifica del criterio. Se più origini modificano il criterio di accesso, l'utilizzo del campo etag per lo strumento a riga di comando gcloud e le chiamate API aiuta a prevenire sovrascritture e conflitti indesiderati.
Per scoprire come creare criteri di accesso, consulta Creare un criterio di accesso.
Livelli di accesso
I livelli di accesso vengono utilizzati per consentire l'accesso alle risorse in base alle informazioni contestuali sulla richiesta. Utilizzando i livelli di accesso, puoi iniziare a organizzare i livelli di attendibilità. Ad esempio, potresti creare un livello di accesso denominato High_Level che consentirà le richieste di un piccolo gruppo di persone con privilegi elevati. Potresti anche identificare un gruppo più generale di cui ti fidi, ad esempio un intervallo IP da cui vuoi consentire le richieste. In questo caso, potresti creare un livello di accesso denominato Medium_Level per consentire queste richieste.
Dopo aver definito i livelli di accesso, i servizi di applicazione possono utilizzarli per determinare se accettare una richiesta. Ad esempio, potresti specificare che, sebbene molte risorse siano disponibili per Medium_Trust, alcune risorse più sensibili richiedono il livello High_Trust. Questi controlli vengono applicati in aggiunta alla policy IAM standard.
I livelli di accesso sono personalizzabili; i livelli di accesso High_Trust e Medium_Trust sono esempi. Puoi specificare più livelli di accesso come parte di un criterio di accesso.
Un livello di accesso di base è costituito da una raccolta di condizioni utilizzate per testare le richieste. Le condizioni possono essere definite come un gruppo di attributi che vuoi testare, ad esempio il tipo di dispositivo, l'indirizzo IP o l'identità utente. Gli attributi vengono combinati come operazione AND (tutti devono essere true) o come operazione NOR (nessuno deve essere true) per determinare se la condizione è soddisfatta.
I livelli di accesso personalizzati vengono creati utilizzando un sottoinsieme di Common Expression Language. Oltre al contesto della richiesta utilizzato per i livelli di accesso di base, puoi utilizzare i livelli di accesso personalizzati anche per consentire le richieste in base ai dati di servizi di terze parti. Per saperne di più, consulta Livelli di accesso personalizzati.
AND (&&) e OR
(||) determina in modo univoco il risultato, l'altro operando potrebbe essere
valutato o meno. Inoltre, se la valutazione produce un errore di runtime, viene ignorata. Ad esempio, nell'espressione seguente, la valutazione di origin.region_code non riesce, ma la valutazione di levels.ip_check riesce.
Poiché almeno uno dei controlli ha esito positivo, la condizione generale, combinata da OR, diventa true e l'accesso è GRANTED.
!(origin.region_code in ['RU', 'BY', 'UA']) -> FAILED // levels.regions_check
inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED // levels.ip_check
!(origin.region_code in ['RU', 'BY', 'UA']) || inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED
levels.regions_check || levels.ip_check -> GRANTED
Indirizzo IP
Puoi concedere un livello di accesso in base all'indirizzo IP della richiesta di origine. L'intervallo di indirizzi IP da consentire viene specificato sotto forma di un blocco CIDR (Classless Inter-Domain Routing), che consente un controllo granulare degli indirizzi IP consentiti.
Un singolo livello di accesso può contenere più intervalli IP.
Per scoprire come creare un livello di accesso che consenta l'accesso solo a un intervallo specificato di indirizzi IP, ad esempio quelli all'interno di una singola rete aziendale, consulta Creare un livello di accesso per l'accesso alla rete aziendale.
I seguenti intervalli IP vengono trattati come intervalli privati da Gestore contesto accesso:
10.0.0.0/8(RFC 1918)172.16.0.0/12(RFC 1918)192.168.0.0/16(RFC 1918)100.64.0.0/10(RFC 6598 Shared Address Space)fc00::/7(RFC 4193 IPv6 Unique Local Addresses)
Tipo di dispositivo
Gestore contesto accesso utilizza Verifica endpoint per raccogliere informazioni sui dispositivi utente, come il sistema operativo, il tipo di dispositivo o la versione. Puoi concedere un livello di accesso in base a questi dati. Ad esempio, puoi concedere un livello di accesso più permissivo ai dispositivi che eseguono l'ultima versione del sistema operativo principale implementato nella tua azienda.
Per scoprire come concedere un livello di accesso in base a questi attributi del dispositivo, consulta Limitare l'accesso in base al tipo di dispositivo.
Identità utente
In alcuni scenari, potresti voler concedere un livello di accesso a entità specifiche. In questi scenari, l'identità del chiamante determina se la condizione è soddisfatta. Questo scenario viene spesso utilizzato insieme a Service Account e Controlli di servizio VPC. Ad esempio, puoi utilizzare questo scenario per consentire a una Cloud Function di accedere ai dati protetti da Controlli di servizio VPC.
Puoi creare e gestire i livelli di accesso solo per l'identità con lo strumento a riga di comando gcloud, ma non
con la Google Cloud console.
Per iniziare a creare un livello di accesso di base, consulta Creare un livello di accesso per Gestore contesto accesso.
Per informazioni sulla creazione di un livello di accesso che consenta l'accesso in base al contesto di una richiesta, consulta Creare un livello di accesso personalizzato.Combinare le condizioni
Un singolo livello di accesso può contenere più condizioni. Le condizioni possono essere valutate utilizzando l'operatore AND o OR. Puoi specificare la modalità quando crei o aggiorni un livello di accesso.
L'opzione AND è più restrittiva ed è quella predefinita. Questa opzione concede il livello di accesso solo se tutte le condizioni vengono soddisfatte. Ad esempio, potresti richiedere che una richiesta provenga dalla rete aziendale e da un dispositivo che esegue l'ultima versione di un sistema operativo.
OR è un'opzione meno restrittiva. Questa opzione richiede solo che una delle molte condizioni sia true. A volte è utile quando si tratta di identità utente, ad esempio per escludere entità specifiche (come i service account) dai requisiti normali.
Condizioni nidificate
Le condizioni possono essere nidificate in modo che una condizione dipenda da un'altra. Ad esempio, se hai i due livelli di accesso "Medio" e "Alto" attendibilità, puoi impostare i requisiti per "Alto" in modo che richiedano "Medio", oltre ad altre condizioni.
Le condizioni di nidificazione possono semplificare la gestione dei livelli di accesso. Ad esempio, supponiamo che il livello di accesso più permissivo contenga una versione minima del sistema operativo e che tu imposti i livelli più restrittivi in modo che dipendano da essa. Se in futuro aggiorni la versione minima, dovrai aggiornare solo una condizione, anziché ogni livello di accesso nella policy.
Scopri di più
- Guida rapida: crea un livello di accesso per Gestore contesto accesso
- Creare un livello di accesso di base
- Creare un livello di accesso personalizzato
- YAML di esempio per un livello di accesso