Questo documento descrive come puoi connetterti a GKE su AWS come membro di un gruppo Google.
L'utilizzo di Google Gruppi per concedere l'accesso al cluster è più efficiente della creazione di autorizzazioni separate per i singoli utenti. Ad esempio, supponiamo che tu voglia aggiungere 50 utenti al gruppo Amministratore del cluster, 75 utenti a un gruppo Editor e 100 utenti a un gruppo Lettore. Per consentire a tutti questi utenti di connettersi al tuo cluster, devi creare regole RBAC nel file manifest di Kubernetes per 225 utenti. Tuttavia, se attivi l'accesso al tuo cluster con Google Gruppi, risparmi tempo perché devi creare solo regole RBAC per tre gruppi Google.
Prima di iniziare
Per connetterti al cluster come membro di un gruppo Google, devi soddisfare i seguenti prerequisiti:
Assicurati di avere installato la versione più recente di Google Cloud CLI. Per informazioni sull'aggiornamento di gcloud CLI, consulta
gcloud components update
.Utilizza GKE su AWS versione 1.25 o successive, che è obbligatoria per
kubectl
l'accesso tramite Connect Gateway.
Connettiti al cluster con i gruppi Google
Per autorizzare i gruppi Google a connettersi a GKE su AWS:
Abilita le API
connectgateway
ecloudresourcemanager
con il seguente comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Sostituisci
PROJECT_ID
con l'ID del tuo progetto AWS.Se non esiste, crea un gruppo denominato
gke-security-groups
nel dominio del progetto.Crea uno o più sottogruppi all'interno del gruppo
gke-security-groups
per l'autenticazione del cluster.Aggiungi gli utenti ai sottogruppi appena creati.
Per l'accesso a
kubectl
utilizzando il gateway di connessione, devi concedere i ruoli IAM ai gruppi Google:Seleziona un ruolo appropriato per un gruppo. Questo ruolo determina il modo in cui il gruppo interagisce con il gateway di connessione. Il ruolo può essere uno dei seguenti:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
,roles/gkehub.gatewayReader
. Tieni presente che qui non stai concedendo autorizzazioni per il cluster, questo passaggio verrà eseguito in un secondo momento. Qui stai solo determinando in che modo gli utenti del gruppo possono manipolare il gateway di connessione.Esegui il seguente comando per concedere il ruolo al gruppo:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto GoogleGROUP_NAME
: il nome del gruppo a cui concedere accessoDOMAIN
: il tuo dominio Google WorkspaceGATEWAY_ROLE
: il ruolo selezionato. Ad esempio,roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oroles/gkehub.gatewayReader
.
In un manifest Kubernetes, definisci le autorizzazioni di ciascun gruppo Google sul cluster. Ad esempio, il seguente manifest concede al gruppo Google
cluster-admin-team
il ruolo di amministratore del cluster:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
Salva il manifest in un file e applicalo al cluster eseguendo il seguente comando:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Sostituisci quanto segue:
KUBECONFIG_PATH
: il percorso del filekubeconfig
.FILENAME
: il nome del file manifest che hai creato.
Una volta eseguiti questi passaggi, gli utenti appartenenti a determinati gruppi Google possono collegarsi al cluster. Nell'esempio riportato, gli utenti appartenenti al gruppo Google cluster-admin-team
possono connettersi al cluster come amministratori.