Neste documento, descrevemos como se conectar ao GKE na AWS como membro de um grupo do Google.
Usar os 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 de administradores de clusters, 75 usuários a um grupo de editores e 100 usuários a um grupo de leitores. Permitir que todos esses usuários se conectem ao seu cluster exigiria que você criasse regras do RBAC no arquivo de manifesto do Kubernetes para 225 usuários. Ativar o acesso ao cluster com os Grupos do Google economiza tempo, já que você só precisa criar regras do RBAC para três Grupos do Google.
Antes de começar
Para se conectar ao cluster como membro de um Grupo do Google, é necessário atender aos seguintes pré-requisitos:
Verifique se você tem a versão mais recente da CLI do Google Cloud CLI. Para informações sobre como atualizar a CLI gcloud, consulte
gcloud components update
.Use o GKE na versão 1.25 ou mais recente da AWS, que é necessário para acessar
kubectl
usando o gateway de conexão.
Conecte-se ao cluster com os Grupos do Google
Para autorizar os Grupos do Google a se conectarem ao GKE na AWS, siga estas etapas:
Ative 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 projeto AWS.Crie um grupo chamado
gke-security-groups
como um grupo no domínio do projeto se ele não existir.Crie um ou mais subgrupos no grupo
gke-security-groups
para autenticação de cluster.Adicione usuários aos subgrupos recém-criados.
Para ter acesso
kubectl
usando o gateway de conexão, você precisa conceder papéis do IAM aos Grupos do Google:Selecione a função apropriada para um grupo. Esse papel determina como o grupo interage com o gateway de conexão. O papel pode ser um dos 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 o papel ao grupo:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Substitua:
PROJECT_ID
: o ID do projeto do GoogleGROUP_NAME
: o nome do grupo ao qual conceder acessoDOMAIN
: seu domínio do Google WorkspaceGATEWAY_ROLE
: o papel selecionado. Por exemplo,roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
ouroles/gkehub.gatewayReader
.
Em um manifesto do Kubernetes, defina as permissões de cada grupo do Google no cluster. Por exemplo, o manifesto a seguir concede ao Grupo do Google
cluster-admin-team
o papel 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:
KUBECONFIG_PATH
: o caminho para o arquivokubeconfig
FILENAME
: o nome do arquivo de manifesto que você criou
Depois de executar essas etapas, os usuários pertencentes a determinados grupos do Google poderão se conectar ao cluster. No exemplo fornecido, os usuários pertencentes ao Grupo do Google cluster-admin-team
podem se conectar ao cluster como administradores.