Este documento descreve como você pode se conectar ao GKE na AWS como membro de um grupo do Google .
Usar grupos do Google para conceder acesso ao cluster é mais eficiente do que criar autorizações separadas para usuários individuais. Por exemplo, digamos que você queira adicionar 50 usuários ao grupo Administrador do cluster, 75 usuários ao grupo Editor e 100 usuários ao grupo Leitor. Para permitir que todos esses usuários se conectem ao seu cluster, você precisaria criar regras RBAC no arquivo de manifesto do Kubernetes para 225 usuários. No entanto, habilitar o acesso ao seu cluster com grupos do Google economiza tempo, pois você só precisa criar regras RBAC para três grupos do Google.
Antes de começar
Para se conectar ao seu cluster como membro de um grupo do Google, você precisa atender aos seguintes pré-requisitos:
Certifique-se de ter a versão mais recente do Google Cloud CLI. Para obter informações sobre como atualizar o gcloud CLI, consulte
gcloud components update
.Use o GKE na AWS versão 1.25 ou superior, necessário para acesso
kubectl
usando o gateway de conexão.
Conecte-se ao seu cluster com os grupos do Google
Para autorizar grupos do Google a se conectar ao GKE na AWS, siga estas etapas:
Habilite as APIs
connectgateway
ecloudresourcemanager
com o seguinte comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Substitua
PROJECT_ID
pelo ID do seu projeto na AWS.Crie um grupo chamado
gke-security-groups
como um grupo no domínio do seu projeto se ele não existir.Crie um ou mais subgrupos dentro do grupo
gke-security-groups
para autenticação de cluster.Adicione usuários aos subgrupos recém-criados.
Para acesso
kubectl
usando o gateway de conexão, você precisa conceder funções do IAM aos grupos do Google:Selecione uma função apropriada para um grupo. Essa função determina como o grupo interage com o gateway de conexão. A função pode ser uma das seguintes:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
,roles/gkehub.gatewayReader
. (Observe que você não está concedendo permissões sobre o cluster aqui — essa etapa vem depois. Aqui, você está apenas determinando como os usuários do grupo podem manipular o gateway de conexão.)Execute o seguinte comando para conceder a função ao grupo:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Substitua o seguinte:
-
PROJECT_ID
: seu ID de projeto do Google -
GROUP_NAME
: o nome do grupo ao qual será concedido acesso -
DOMAIN
: seu domínio do Google Workspace -
GATEWAY_ROLE
: a função selecionada. Por exemplo,roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
ouroles/gkehub.gatewayReader
.
-
Em um manifesto do Kubernetes, defina as permissões que cada grupo do Google tem no cluster. Por exemplo, o manifesto a seguir concede ao Grupo do Google
cluster-admin-team
a função de administrador do 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
Salve o manifesto em um arquivo e aplique-o ao cluster executando o seguinte comando:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Substitua o seguinte:
-
KUBECONFIG_PATH
: o caminho para o seu arquivokubeconfig
. -
FILENAME
: o nome do arquivo de manifesto que você criou.
-
Após executar essas etapas, usuários pertencentes a determinados grupos do Google poderão se conectar ao cluster. No exemplo fornecido, usuários pertencentes ao grupo do Google cluster-admin-team
podem se conectar ao cluster como administradores.