Questa pagina spiega come applicare l'accesso basato su certificati (CBA) utilizzando criteri di accesso sensibile al contesto basati su un gruppo di utenti.
Puoi limitare l'accesso a tutti i Google Cloud servizi associando un livello di accesso CBA a un gruppo di utenti a cui vuoi limitare l'accesso. Questa limitazione si applica a tutte le applicazioni client che chiamano le API Google Cloud.
Se vuoi, puoi applicare le limitazioni a specifiche applicazioni client o
escludere applicazioni specifiche. Le applicazioni includono sia applicazioni di terze parti sia applicazioni proprietarie create da Google, come Cloud Console
per la console Google Cloud e Google Cloud SDK
per Google Cloud CLI
.
Prima di iniziare
Assicurati di aver creato un livello di accesso CBA che richieda i certificati per determinare l'accesso alle risorse.
Creare un gruppo di utenti
Crea un gruppo di utenti contenente i membri a cui deve essere concesso l'accesso in base al livello di accesso CBA.
Assegnare il ruolo Amministratore binding di accesso al cloud
Assegna il ruolo Amministratore binding di accesso al cloud al gruppo di utenti.
Assicurati di disporre di autorizzazioni sufficienti per aggiungere autorizzazioni IAM a livello di organizzazione. Come minimo, devi disporre dei ruoli Amministratore dell'organizzazione e Amministratore del binding di accesso al cloud.
Console
Nella console Cloud, vai alla pagina IAM.
Nella scheda Autorizzazioni, fai clic su Concedi accesso e poi configura quanto segue:
- Nuove entità: specifica il gruppo a cui vuoi concedere il ruolo.
- Nell'opzione Seleziona un ruolo, seleziona Gestore contesto accesso > Amministratore binding accesso cloud.
- Fai clic su Salva.
gcloud
Accedi:
gcloud auth login
Assegna il ruolo
GcpAccessAdmin
eseguendo questo comando:gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdmin
ORG_ID
è l'ID della tua organizzazione. Se non hai ancora l'ID organizzazione, puoi utilizzare il seguente comando per trovarlo:gcloud organizations list
EMAIL
è l'indirizzo email della persona o del gruppo a cui vuoi concedere il ruolo.
Associare un livello di accesso CBA a un gruppo di utenti
In questa opzione di binding, il livello di accesso CBA si applica a tutte le applicazioni client per il gruppo di utenti specificato.
Nella console, vai alla pagina Chrome Enterprise Premium.
Scegli un'organizzazione, quindi fai clic su Seleziona.
Fai clic su Gestisci accesso per scegliere i gruppi di utenti che devono avere accesso.
Fai clic su Aggiungi e poi configura quanto segue:
- Gruppi di membri: specifica il gruppo a cui vuoi concedere l'accesso. Puoi selezionare solo i gruppi che non sono già associati a un livello di accesso.
- Seleziona livelli di accesso: seleziona il livello di accesso CBA da applicare al gruppo.
- Fai clic su Salva.
Associa un livello di accesso CBA a un gruppo di utenti e ad applicazioni specifiche
In alcuni casi d'uso, ad esempio le applicazioni che supportano i certificati client,l'associazione di un livello di accesso CBA a un gruppo di utenti potrebbe essere troppo ampia. Puoi utilizzare questa opzione per applicare i livelli di accesso CBA alle applicazioni che supportano i certificati client.
L'esempio seguente associa un livello di accesso CBA alla console Google Cloud , a gcloud CLI e all'applicazione OAuth di un utente.
Accedi a gcloud CLI.
gcloud auth application-default login
Crea un file
policy_file.json
.Puoi specificare le applicazioni utilizzando il relativo ID client OAuth. Per specificare le applicazioni Google, utilizza il nome dell'applicazione, ad esempio
Cloud Console
per la consoleGoogle Cloud . Sono supportate solo la console Google Cloud e le applicazioni Google Cloud SDK Google.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: name: Cloud Console activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: Google Cloud SDK activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_1 activeSettings: accessLevels: - CBA_ACCESS_LEVEL
Sostituisci quanto segue:
- CLIENT_ID_1: l'ID client OAuth.
- CBA_ACCESS_LEVEL: Un nome di livello di accesso CBA nel formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Crea l'associazione livello di accesso CBA.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../policy_file.json
Sostituisci GROUP_KEY con il gruppo di accesso sensibile al contesto e ORG_ID con l'ID organizzazione.
Se non hai a disposizione GROUP_KEY, puoi recuperarlo chiamando il metodo
get
nella risorsa gruppo.(Facoltativo) Aggiorna un'associazione livello di accesso esistente.
gcloud access-context-manager cloud-bindings update \ --binding='BINDING_NAME' \ --binding-file=.../policy_file.json
Sostituisci BINDING_NAME con il nome del binding generato automaticamente al momento della creazione.
Esentare un'applicazione da un binding
Un altro modo per applicare un livello di accesso CBA senza bloccare le applicazioni client che non supportano i certificati client è esentare queste applicazioni dal criterio.
I seguenti passaggi presuppongono che tu abbia già creato un livello di accesso CBA che richiede certificati per determinare l'accesso alle risorse.
Crea un livello di accesso di esenzione utilizzando uno dei seguenti metodi.
- Livello di accesso personalizzato:
Fornisci
true
come valore nella condizione dell'espressione CEL. - Livello di accesso di base:
crea un
livello di accesso basato su intervalli IP
fornendo le subnet IP
0.0.0.0/0
e::/0
, che corrispondono rispettivamente a IPv4 e IPv6.
- Livello di accesso personalizzato:
Fornisci
Crea un file
exemption_file.json
.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: APPLICATION_NAME_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL
Sostituisci quanto segue:
- CLIENT_ID_2: l'ID client OAuth.
- APPLICATION_NAME_2: il nome dell'applicazione.
- EXEMPT_ACCESS_LEVEL: il nome di un livello di accesso all'esenzione nel formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Crea il criterio di associazione dell'esenzione.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../exemption_file.json
Sostituisci GROUP_KEY con il gruppo di accesso sensibile al contesto e ORG_ID con l'ID organizzazione.
Se non hai a disposizione GROUP_KEY, puoi recuperarlo chiamando il metodo
get
nella risorsa gruppo.