Questo documento fornisce una panoramica generale del servizio Gestore contesto accesso e delle sue funzioni.Gli amministratori dell' Google Cloud organizzazione possono utilizzare Gestore contesto accesso per definire un controllo granulare degli accessi in base agli attributi per i progetti e le risorse in Google Cloud. In qualità di amministratore, devi prima definire un criterio di accesso, ovvero un contenitore a livello di organizzazione per livelli di accesso e perimetri di servizio.
I livelli di accesso descrivono i requisiti per l'accettazione delle richieste. Ecco alcuni esempi:
- Tipo di dispositivo e sistema operativo
- Indirizzo IP
- Identità utente
I perimetri di servizio definiscono sandbox di risorse che possono scambiare liberamente dati all'interno del perimetro, ma non sono autorizzate a esportare dati al di fuori del perimetro. Gestore contesto accesso non è responsabile dell'applicazione delle norme. Al contrario, Gestore contesto accesso è progettato per definire regole o contesti specifici. I criteri vengono configurati e applicati in vari punti, ad esempio i Controlli di servizio VPC. Per scoprire di più su questi servizi, consulta le rispettive guide utente.
Puoi configurare e applicare i criteri 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 singolo punto di ingresso e di uscita. Qualsiasi elemento all'esterno è considerato pericoloso. Tutto ciò che è al suo interno è attendibile.
I firewall e il modello di sicurezza perimetrale funzionano bene se esiste un confine preciso attorno a utenti e servizi specifici. Tuttavia, se il personale è mobile, la varietà di dispositivi aumenta man mano che gli utenti portano i propri dispositivi (BYOD) e utilizzano servizi basati su cloud. Questo scenario comporta vettori di attacco aggiuntivi che non vengono presi in considerazione dal modello di perimetro. Di conseguenza, il perimetro non è più solo la sede fisica dell'azienda e non si può dare per scontato che ciò che si trova al suo interno sia sicuro.
Puoi utilizzare Gestore contesto accesso per ridurre le dimensioni della rete privilegiata e passare a un modello in cui gli endpoint non hanno autorità ambientale in base alla rete. Invece, puoi 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'impegno di BeyondCorp in Google. Per ulteriori informazioni, vedi BeyondCorp.
Criteri di accesso
Un criterio di accesso è un contenitore per tutte le risorse di Gestore contesto accesso, come i livelli di accesso e i perimetri di servizio.
Puoi creare un criterio di accesso nel contesto di un'organizzazione e utilizzarlo in qualsiasi punto dell'organizzazione. Per delegare la gestione di un criterio di accesso, puoi creare un criterio di accesso con ambito e impostarne l'ambito a livello di cartella o progetto. L'amministratore delegato a cui è assegnato il criterio basato sugli ambiti può gestire solo il criterio di accesso basato sugli ambiti e non il criterio di accesso a livello di organizzazione.
A un criterio di accesso viene assegnata una versione utilizzando un etag
.
Puoi utilizzare etag
per scegliere come target le modifiche ai criteri di accesso, ad esempio le modifiche ai livelli di accesso o a una versione specifica dei criteri. 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 consente di evitare sovrascritture e conflitti involontari.
Per scoprire come creare i 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 chiamatoHigh_Level
che consenta le richieste di un piccolo gruppo di persone con privilegi elevati. Puoi anche identificare un gruppo più generale attendibile, ad esempio un intervallo IP da cui vuoi consentire le richieste. In questo caso, puoi 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 soddisfare una richiesta. Ad esempio, potresti specificare che, anche se molte risorse sono disponibili per Medium_Trust
, alcune risorse più sensibili richiedono il livello High_Trust
. Questi controlli vengono applicati in aggiunta al criterio 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 all'interno di un criterio di accesso.
Gestore contesto accesso offre due modi per definire i livelli 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 tipo di dispositivo, indirizzo IP o identità utente. Gli attributi vengono combinati come operazione AND (tutti devono essere veri) o NOR (nessuno deve essere vero) per determinare se la condizione è soddisfatta.
I livelli di accesso personalizzati vengono creati utilizzando un sottoinsieme del linguaggio Common Expression Language. Oltre al contesto della richiesta utilizzato per i livelli di accesso di base, puoi anche utilizzare livelli di accesso personalizzati per consentire richieste basate su dati di servizi di terze parti. Per saperne di più, consulta Livelli di accesso personalizzati.
Quando nidifica i livelli di accesso e combina tutta la logica, tieni presente
che, se uno degli operandi degli operatori booleani AND
(&&
) e OR
(||
) determina in modo univoco il risultato, l'altro operando potrebbe o meno essere
valutato. Inoltre, se la valutazione produce un errore di runtime, viene ignorata. Ad esempio, nella seguente espressione, la valutazione di
origin.region_code
non va a buon fine, ma la valutazione di levels.ip_check
è corretta.
Poiché almeno uno dei controlli è riuscito, la condizione complessiva, che viene combinata da OR
, diventa vera 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 IP da consentire è specificato sotto forma di blocco CIDR (Classless Inter-Domain Routing), che consente un controllo granulare sugli 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 un'unica rete aziendale, consulta Creare un livello di accesso per l'accesso alla rete aziendale.
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 la versione più recente 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 casi, potresti voler concedere un livello di accesso a entità specifiche. In questi scenari, l'identità dell'utente che chiama determina se la condizione è soddisfatta. Questo scenario viene spesso utilizzato insieme agli account di servizio e ai 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 console. Google Cloud
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, vedi 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.
Il caso AND
è l'opzione più restrittiva e predefinita. Questa opzione concede il livello di accesso solo se tutte le condizioni sono soddisfatte. Ad esempio, potresti richiedere che una richiesta provenga dalla rete aziendale e da un dispositivo che esegue la versione più recente di un sistema operativo.
OR
è un'opzione meno restrittiva. Questa opzione richiede solo che una di molte condizioni sia vera. A volte è utile quando si tratta di identità degli utenti, ad esempio per escludere entità specifiche (come gli account di servizio) dai requisiti normali.
Condizioni di nidificazione
Le condizioni possono essere nidificate in modo che una condizione dipenda da un'altra. Ad esempio, se disponi dei due livelli di attendibilità "Medio" e "Alto", puoi impostare i requisiti per "Alto" in modo che richiedano "Medio", oltre ad altre condizioni.
Le condizioni nidificate possono semplificare la gestione dei livelli di accesso. Ad esempio, immagina che il tuo livello di accesso più permissivo contenga una versione minima del sistema operativo e che tu abbia impostato i livelli più restrittivi in modo che dipendano da questa. Se in futuro aggiorni la versione minima, dovrai aggiornare una sola condizione anziché ogni livello di accesso nel criterio.
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
- Esempio di YAML per il livello di accesso