Configura Google Gruppi per RBAC


In questa pagina viene illustrato come impostare Google Gruppi per: lavorare con controllo dell'accesso basato su ruoli (RBAC) di Kubernetes in Google Kubernetes Engine (GKE) cluster.

Panoramica

Google Gruppi per RBAC ti consente di assegnare autorizzazioni RBAC ai membri di Google Gruppi in Google Workspace. I tuoi amministratori di Google Workspace mantengono gli utenti e i gruppi al di fuori di GKE o della console Google Cloud. Il tuo gli amministratori del cluster non avranno quindi bisogno di informazioni dettagliate sugli utenti.

L'utilizzo di Google Gruppi per RBAC consente anche l'integrazione con il tuo account utente esistente ad esempio la revoca dell'accesso quando qualcuno lascia l'organizzazione.

Per utilizzare Google Gruppi per RBAC, completa le seguenti attività:

  1. Soddisfa i requisiti.
  2. Configura i tuoi gruppi Google.
  3. Abilita Google Gruppi per RBAC su un cluster.
  4. Definire e assegnare le autorizzazioni RBAC ai gruppi Google.

Requisiti

Per utilizzare Google Gruppi per RBAC, devi avere accesso a Google Workspace o qualsiasi versione di Cloud Identity.

Quando crei gruppi e aggiungi utenti come membri, assicurati di conoscere le Limiti di Google Gruppi.

Limitazione

  • GKE supporta gli utenti appartenenti a un massimo di 2000 gruppi il gruppo di sicurezza, incluse le iscrizioni nidificate, con Google Gruppi per RBAC.

Configura i tuoi gruppi Google

I passaggi seguenti ti mostrano come configurare un gruppo in Google Gruppi che è compatibile con RBAC:

  1. Crea un gruppo nel tuo dominio denominato gke-security-groups. La Il nome gke-security-groups è obbligatorio. Assicurati che il gruppo abbia il ruolo View Autorizzazione Membri selezionata per Membri del gruppo. Per maggiori dettagli, vedi Impostare le autorizzazioni per la gestione di membri e contenuti.

  2. Creare gruppi, se non esistono già, che rappresentano insiemi di utenti. che dovrebbero avere autorizzazioni diverse sui tuoi cluster, ad esempio sviluppatori e gli amministratori del cluster. Ogni gruppo deve includere l'opzione Visualizza membri per Membri del gruppo.

  3. Aggiungi i tuoi gruppi come gruppi nidificati al gruppo gke-security-groups. Azioni sconsigliate aggiungi singoli utenti come membri di gke-security-groups.

Per ulteriori informazioni sulla gestione di Google Gruppi, fai riferimento all' Centro assistenza Google Gruppi.

Per verificare se un utente specifico può eseguire un'azione su una risorsa del cluster, GKE controlla se l'utente è membro di un gruppo che dispone dell'accesso il gruppo è nidificato Gruppo gke-security-groups.

Le informazioni sull'iscrizione a Google Gruppi vengono memorizzate nella cache per un breve periodo di tempo. Potrebbero essere necessari alcuni minuti prima che le modifiche alle iscrizioni ai gruppi vengano propagate a tutti nei cluster. Oltre alla latenza delle modifiche ai gruppi, la memorizzazione nella cache standard di credenziali utente sul cluster è di circa un'ora.

Abilita Google Gruppi per RBAC sui cluster

Puoi abilitare Google Gruppi per RBAC su GKE nuovi ed esistenti Cluster Standard e Autopilot che utilizzano Google Cloud CLI la console Google Cloud.

Crea un nuovo cluster

gcloud

Standard

Per creare un nuovo cluster Standard e abilitare Google Gruppi per RBAC, esegui il seguente comando:

gcloud container clusters create CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --security-group="gke-security-groups@DOMAIN"

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster.
  • COMPUTE_REGION: la regione di Compute Engine per il nuovo cluster. Per i cluster di zona, utilizza --zone=COMPUTE_ZONE.
  • DOMAIN: il nome di dominio di gke-security-groups gruppo che hai creato.

Pilota automatico

Per creare un nuovo cluster Autopilot e abilitare Google Gruppi per RBAC, esegui il seguente comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --security-group="gke-security-groups@DOMAIN"

Console

Per creare un nuovo cluster e abilitare la funzionalità Google Gruppi per RBAC, esegui segui questi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea.

  3. Fai clic su Configura per la modalità cluster che vuoi utilizzare.

  4. Per i cluster Autopilot, espandi Opzioni avanzate per individuare le opzioni Sicurezza.

  5. Per i cluster standard, nella sezione Cluster, fai clic su Sicurezza.

  6. Seleziona la casella di controllo Abilita Google Gruppi per RBAC.

  7. Compila Gruppo di sicurezza con gke-security-groups@DOMAIN.

  8. Fai clic su Crea.

Aggiorna un cluster esistente

gcloud

Per aggiornare un cluster esistente per abilitare Google Gruppi per RBAC, esegui questo comando :

gcloud container clusters update CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --security-group="gke-security-groups@DOMAIN"

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster.
  • COMPUTE_REGION: la regione di Compute Engine del cluster. Per i cluster di zona, utilizza --zone=COMPUTE_ZONE.
  • DOMAIN: il nome di dominio di gke-security-groups gruppo che hai creato.

Console

Per aggiornare un cluster esistente per abilitare Google Gruppi per RBAC, esegui la seguenti passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster che vuoi aggiornare.

  3. Nella scheda Dettagli, individua la sezione Sicurezza.

  4. Nel campo Google Gruppi per RBAC, fai clic su Modifica i gruppi Google per RBAC.

  5. Seleziona la casella di controllo Abilita Google Gruppi per RBAC.

  6. Compila Gruppo di sicurezza con gke-security-groups@DOMAIN.

  7. Fai clic su Salva modifiche.

Definisci e assegna le autorizzazioni

Dopo aver creato e configurato i gruppi Google per RBAC, utilizza i ruoli e le associazioni di ruoli per definire le autorizzazioni RBAC e assegnarle a Google Gruppi che fanno parte del gruppo gke-security-groups. Per istruzioni, consulta Definisci e assegna le autorizzazioni.

Verifica la configurazione di Google Gruppi per RBAC

Le sezioni seguenti mostrano come verificare che i tuoi gruppi Google per RBAC configurazione è stata completata utilizzando gcloud CLI nella console Google Cloud.

Verifica utilizzando gcloud CLI

Esegui un comando kubectl can-i per verificare se puoi eseguire un'azione specifica rispetto a una specifica risorsa Kubernetes. Puoi usare questo metodo per automatizzare testare l'accesso RBAC nell'ambito del flusso di lavoro CI/CDCD.Ad esempio, quanto segue il comando esegue il test per l'accesso get alle risorse pods nello spazio dei nomi dev:

kubectl auth can-i get pods \
    --namespace=dev \
    --as=USER \
    --as-group=GROUP

Sostituisci quanto segue:

  • USER: il nome dell'utente di ruba l'identità, ad esempio gke-user@example.com. L'utente specificato deve essere un membro del gruppo per il quale stai testando l'accesso.
  • GROUP: il nome del gruppo da impersonare, ad esempio gke-dev-users@example.com.

Se USER ha accesso, l'output è yes. Se non, l'output è no.

Verifica utilizzando la console Google Cloud

Puoi anche verificare l'accesso RBAC eseguendo un comando kubectl cluster e controllando i log.

Prima di iniziare

Prima di iniziare, verifica quanto segue:

  • Non hai interagito con il cluster che vuoi testare (ad esempio, non esegui alcun comando kubectl) da almeno un'ora. L'autenticazione è memorizzato nella cache per un'ora. Lasciare scadere le credenziali memorizzate nella cache consente assicura che la richiesta venga registrata nel momento in cui viene eseguita.
  • Sei membro di almeno uno dei gruppi che fanno parte di gke-security-groups, che garantisce che alcuni gruppi Google vengono registrate.

Abilita i log ed esegui un comando di test

  1. Abilitare il logging degli accessi ai dati per il progetto Google Cloud. Per attivare il logging:

    1. Vai alla pagina Audit log nella console Google Cloud.

      Vai agli audit log

    2. Nella tabella, seleziona API Kubernetes Engine.

    3. Nel menu Tipo di log, seleziona:

      • Lettura amministratore
      • Lettura dati
      • Scrittura dati
    4. Fai clic su Salva.

    Per ulteriori informazioni sull'abilitazione dell'audit logging, consulta Configurazione dei log di accesso ai dati con la console Cloud.

  2. Esegui un comando utilizzando kubectl nel cluster, ad esempio:

    kubectl create ns helloworld
    
  3. Inserisci una query personalizzata nella pagina Esplora log. Per eseguire la query:

    1. Vai alla pagina Esplora log nella console Google Cloud.

      Vai a Esplora log

    2. Fai clic sulla freccia nella casella Anteprima query nella parte superiore della pagina.

    3. Nella casella a discesa che viene visualizzata, specifica la query seguente:

      resource.type="k8s_cluster"
      resource.labels.location="CLUSTER_LOCATION"
      resource.labels.cluster_name="CLUSTER_NAME"
      protoPayload.resourceName="authorization.k8s.io/v1beta1/subjectaccessreviews"
      protoPayload.response.spec.user="EMAIL_ADDRESS"
      

      Sostituisci quanto segue:

      • CLUSTER_LOCATION: la regione o la zona del tuo cluster.
      • CLUSTER_NAME: il nome del tuo cluster.
      • EMAIL_ADDRESS: indirizzo email registrato di tuo Account Google.
    4. Seleziona Esegui query. Dovrebbe essere visualizzato almeno un risultato. Se non sono presenti prova ad aumentare l'intervallo di tempo.

    5. Seleziona il cluster da esaminare.

    6. Fai clic su Espandi campi nidificati.

    7. Il campo protoPayload.request.spec.group contiene i gruppi in cui:

      • I gruppi sono membri di gke-security-group.
      • Sei un membro del gruppo.

      Questo elenco deve corrispondere all'insieme dei gruppi di cui sei membro. Se non esistono gruppi presenti, potrebbe esserci un problema con la configurazione dei gruppi.

  4. Facoltativamente, ripristina il logging degli accessi ai dati alle impostazioni precedenti per evitare ulteriori addebiti.

Passaggi successivi