Applicare l'accesso basato su certificato per un gruppo di utenti

Questa pagina spiega come applicare l'accesso basato su certificato (CBA) utilizzando criteri di accesso sensibili al contesto basati su un gruppo di utenti.

Puoi limitare l'accesso a tutti i servizi Google Cloud 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 ad applicazioni client specifiche o esentare applicazioni specifiche. Le applicazioni includono sia quelle di terze parti sia quelle proprietarie create da Google, ad esempio 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 richiede 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 Cloud Access Binding Admin

Assegna il ruolo Amministratore di associazioni di accesso a Cloud al gruppo di utenti.

Assicurati di disporre dei privilegi sufficienti per aggiungere le autorizzazioni IAM a livello di organizzazione. Sono necessari almeno i ruoli Amministratore organizzazione e Amministratore associazione di accesso a Cloud.

Console

  1. Nella console Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Nella scheda Autorizzazioni, fai clic su Concedi accesso e poi configura quanto segue:

    1. Nuove entità: specifica il gruppo a cui vuoi concedere il ruolo.
    2. Nell'opzione Seleziona un ruolo, seleziona Gestore contesto accesso > Amministratore di associazioni di accesso cloud.
    3. Fai clic su Salva.

gcloud

  1. Accedi:

    gcloud auth login
    
  2. Assegna il ruolo GcpAccessAdmin eseguendo il seguente 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 trovarlo utilizzando il seguente comando:

       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 associazione, il livello di accesso CBA si applica a tutte le applicazioni client per il gruppo di utenti specificato.

  1. Nella console, vai alla pagina Chrome Enterprise Premium.

    Passare a Chrome Enterprise Premium

  2. Scegli un'organizzazione e fai clic su Seleziona.

  3. Fai clic su Gestisci accesso per scegliere i gruppi di utenti che devono avere accesso.

  4. Fai clic su Aggiungi e configura quanto segue:

    1. 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.
    2. Seleziona livelli di accesso: seleziona il livello di accesso CBA da applicare al gruppo.
    3. Fai clic su Salva.

Associare 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 , alla CLI gcloud e all'applicazione OAuth di un utente.

  1. Accedi alla gcloud CLI.

    gcloud auth application-default login
    
  2. 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 SDK Google Cloud.

    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 del livello di accesso CBA nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
  3. Crea l'associazione del 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 della tua organizzazione.

    Se non hai GROUP_KEY a disposizione, puoi recuperarlo chiamando il metodo get sulla risorsa di gruppo.

  4. (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 della associazione generato automaticamente durante la creazione.

Esentare un'applicazione da un'associazione

Un altro modo per applicare un livello di accesso CBA senza bloccare le applicazioni client che non supportano i certificati client è esentarle dal regolamento.

I passaggi che seguono presuppongono che tu abbia già creato un livello di accesso CBA che richiede certificati per determinare l'accesso alle risorse.

  1. Crea un livello di accesso con esenzione utilizzando uno dei seguenti metodi.

  2. 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: un nome del livello di accesso per le esenzioni nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
  3. Crea il criterio di associazione delle esenzioni.

    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 della tua organizzazione.

    Se non hai GROUP_KEY a disposizione, puoi recuperarlo chiamando il metodo get sulla risorsa di gruppo.