Neste documento, descrevemos três métodos de conexão ao cluster anexado em conformidade com a CNCF:
- O método 1 se conecta ao cluster como um usuário do Google.
 - O método 2 se conecta ao cluster como membro de um Grupo do Google.
 - O método 3 se conecta ao cluster como um usuário ou grupo que não é do Google.
 
Esses três métodos de conexão a um cluster registrado são ativados por um serviço do Google chamado gateway de conexão. Para detalhes sobre o gateway de conexão, consulte Como se conectar a clusters registrados com o gateway de conexão.
Esta página é destinada a administradores de TI e operadores que querem configurar, monitorar e gerenciar a infraestrutura em nuvem. Para saber mais sobre papéis comuns e tarefas de exemplo mencionados no conteúdo do Google Cloud , consulte Tarefas e funções de usuário comuns do GKE.
Antes de começar
Antes de executar qualquer um dos métodos, verifique se você anexou o cluster. Veja mais detalhes em Anexar seu cluster em conformidade com a CNCF.
Antes de continuar com o método 2 ou 3, você precisa atender a outros pré-requisitos. Veja mais detalhes nas próximas seções.
Antes de começar o método nº 2
Para usar o método 2 de conexão ao cluster anexado, verifique se você tem os seguintes pré-requisitos:
- Versão mais recente da CLI do Google Cloud. Para informações sobre como atualizar
a gcloud CLI, consulte
gcloud components update. - Versões de cluster anexadas 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2 ou mais recentes.
 
Antes de começar o método nº 3
Para usar o método 3 de conexão ao cluster anexado, verifique se você tem os seguintes pré-requisitos:
Verifique se você tem a versão mais recente da CLI do Google Cloud: Para informações sobre como atualizar a gcloud CLI, consulte
gcloud components update.Verifique se você está usando as versões 1.27.0-gke.5, 1.28.0-gke.2 ou posterior do cluster anexado.
Configure a federação de identidade da força de trabalho para que usuários ou grupos externos possam usar a API de clusters anexados do GKE:
- Para usuários do Azure, consulte Configurar a federação de identidade da força de trabalho com o Azure AD.
 - Para usuários do Okta, consulte Configurar a federação de identidade da força de trabalho com o Okta.
 - Para usuários de outras plataformas, consulte Configurar a federação de identidade da força de trabalho.
 
Opcional: atribua os papéis apropriados do Identity and Access Management (IAM) a usuários ou grupos externos. Essa etapa só será necessária se você quiser conceder aos usuários ou grupos a capacidade de criar ou atualizar clusters. Ela não é necessária para simplesmente acessar um cluster.
Os papéis são coleções de permissões. Ao atribuir um papel a uma entidade, como usuário, grupo ou conta de serviço, você concede a ela todas as permissões contidas no papel.
Usuários
Para usuários individuais, você precisa atribuir o papel
gkemulticloud.admin:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE"Substitua:
PROJECT_ID: o ID do seu projeto Google Cloud .WORKFORCE_POOL_ID: o ID que identifica exclusivamente o pool de identidade da força de trabalho em Google Cloud. Ao formatar o ID, siga as diretrizes recomendadas fornecidas na documentação do IAM em Parâmetros de consulta.SUBJECT_VALUE: o ID que identifica exclusivamente um usuário externo. Por exemplo, o ID pode ser um endereço de e-mail, comoalex@cymbalgroup.com.
Grupos
Para grupos, é necessário atribuir o papel
gkemulticloud.admin:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"Substitua:
PROJECT_ID: o ID do seu projeto Google Cloud .WORKFORCE_POOL_ID: o ID que identifica exclusivamente o pool de identidade da força de trabalho em Google Cloud. Ao formatar o ID, siga as diretrizes recomendadas fornecidas na documentação do IAM, em Parâmetros de consulta.GROUP_ID: um ID que identifica exclusivamente um grupo externo.
Para mais informações sobre quais papéis e permissões da API são necessários para clusters anexados do GKE, consulte Papéis e permissões da API.
Método 1: conectar-se ao seu cluster anexado como um usuário do Google
Para se conectar a um cluster anexado como um usuário do Google, siga estas etapas:
Ative as APIs
connectgatewayecloudresourcemanagercom o seguinte comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.comSubstitua
PROJECT_IDpelo ID do seu projeto do Google Cloud.Configure e aplique regras de RBAC automática ou manualmente:
Método automático: se, ao anexar o cluster, você tiver especificado usuários do Google no campo
--admin-usersdo comandogcloud container attached clusters register, esses usuários receberão automaticamente privilégios de administrador. no cluster. Portanto, você pode pular esta etapa.Método manual: configure manualmente as regras de RBAC para usuários individuais do Google criando um manifesto YAML do Kubernetes. Para detalhes, consulte Como usar a autorização RBAC.
Consiga um arquivo de configuração
kubeconfigdo Kubernetes com o seguinte comando:gcloud container fleet memberships get-credentials CLUSTER_NAMESubstitua
CLUSTER_NAMEpelo nome do cluster com as credenciais de conexão que você quer.
Depois de executar essas etapas, será possível se conectar ao cluster anexado como um usuário do Google.
Método 2: conectar-se ao seu cluster anexado com Grupos do Google
Esse método permite que você se conecte a um cluster anexado como membro de um grupo do Google. Em outras palavras, você concede acesso ao cluster a um grupo do Google, e todos os usuários pertencentes a esse grupo têm acesso ao cluster.
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. O método 1, descrito neste documento, exige que você crie regras do RBAC no arquivo de manifesto do Kubernetes para 225 usuários. No entanto, o método 2 economiza tempo porque você só precisa criar regras do RBAC para três grupos do Google.
Para autorizar os grupos do Google a se conectarem a um cluster anexado, siga estas etapas:
Ative as APIs
connectgatewayecloudresourcemanagercom o seguinte comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.comSubstitua
PROJECT_IDpelo ID do seu projeto doGoogle Cloud .Crie um grupo chamado
gke-security-groupscomo um grupo no domínio do projeto se ele não existir.Crie um ou mais subgrupos no grupo
gke-security-groupspara autenticação de cluster.Adicione usuários aos subgrupos recém-criados.
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 anexado 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_ROLESubstitua:
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.gatewayEditorouroles/gkehub.gatewayReader.
Em um manifesto do Kubernetes, defina o tipo de permissão que cada grupo do Google tem no cluster. Por exemplo, o manifesto a seguir concede ao Grupo do Google
cluster-admin-teamo 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.ioSalve o manifesto em um arquivo e aplique-o ao cluster executando o seguinte comando:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAMESubstitua:
KUBECONFIG_PATH: o caminho para o arquivokubeconfigFILENAME: 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 anexado. No exemplo fornecido, os usuários pertencentes ao Grupo do Google cluster-admin-team podem se conectar ao cluster como administradores.
Método 3: conceder acesso a identidades externas ao anexar ou atualizar um cluster
O método 3 concede acesso a identidades externas quando você anexa ou atualiza um cluster.
Para anexar um cluster em conformidade com a CNCF, siga as etapas em Anexar seu cluster em conformidade com a CNCF. Para atualizar um cluster em conformidade com a CNCF, siga as etapas em Atualizar o cluster em conformidade com a CNCF.
Ao executar o comando da gcloud CLI para registrar ou atualizar um cluster, especifique os
parâmetros admin-users e/ou admin-groups da seguinte maneira:
gcloud container attached clusters [register|update] CLUSTER_NAME \
    --admin-users=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE \
    --admin-groups=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
Substitua:
CLUSTER_NAME: o nome do cluster.WORKFORCE_POOL_ID: o ID que identifica exclusivamente o pool de identidade da força de trabalho em Google Cloud. Ao formatar o ID, siga as diretrizes recomendadas fornecidas na documentação do IAM, em Parâmetros de consulta.SUBJECT_VALUE: o ID que identifica exclusivamente um usuário externo. Por exemplo, o ID pode ser um endereço de e-mail, comoalex@cymbalgroup.com.GROUP_ID: um ID que identifica exclusivamente um grupo externo.
A seguir
Para gerenciar o cluster do console do Google Cloud com o Cloud Identity, consulte Fazer login usando sua identidade do Google Cloud .