Associe grupos Google ao GKE no Azure
Este documento descreve como pode estabelecer ligação ao GKE no Azure como membro de um Grupo Google.
A utilização de grupos Google para conceder acesso ao cluster é mais eficiente do que a criação de autorizações separadas para utilizadores individuais. Por exemplo, suponhamos que quer adicionar 50 utilizadores ao grupo de administradores do cluster, 75 utilizadores a um grupo de editores e 100 utilizadores a um grupo de leitores. Permitir que todos estes utilizadores se liguem ao seu cluster exigiria a criação de regras RBAC no ficheiro do manifesto do Kubernetes para 225 utilizadores. No entanto, a ativação do acesso ao cluster com grupos Google poupa-lhe tempo, uma vez que só tem de criar regras de RBAC para três grupos Google.
Antes de começar
Para se ligar ao cluster como membro de um grupo Google, tem de cumprir os seguintes pré-requisitos:
Certifique-se de que tem a versão mais recente da CLI Google Cloud. Para obter informações sobre a atualização da CLI gcloud, consulte
gcloud components update
.Use o GKE no Azure versão 1.25 ou superior, que é necessário para o
kubectl
acesso através do gateway de ligação.
Ligue-se ao seu cluster com os Grupos Google
Para autorizar os grupos Google a estabelecerem ligação ao GKE no Azure, siga estes passos:
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 seu projeto do Azure.Crie um grupo denominado
gke-security-groups
como um grupo no domínio do seu projeto, se não existir.Crie um ou mais subgrupos no grupo
gke-security-groups
para autenticação de cluster.Adicione utilizadores aos subgrupos recém-criados.
Para o acesso
kubectl
através do gateway de ligação, tem de conceder funções do IAM aos grupos Google:Selecione uma função adequada para um grupo. Esta função determina como o grupo interage com o gateway de ligação. A função pode ser uma das seguintes:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
,roles/gkehub.gatewayReader
. (Tenha em atenção que não está a conceder autorizações sobre o cluster aqui. Esse passo é posterior. Aqui, está apenas a determinar como os utilizadores do grupo podem manipular a gateway de ligaçã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
: o ID do seu projeto GoogleGROUP_NAME
: o nome do grupo ao qual conceder acessoDOMAIN
: o seu domínio do Google WorkspaceGATEWAY_ROLE
: a função selecionada. Por exemploroles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
ouroles/gkehub.gatewayReader
.
Num manifesto do Kubernetes, defina as autorizações que cada grupo Google tem no cluster. Por exemplo, o seguinte manifesto 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
Guarde o manifesto num ficheiro 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 ficheirokubeconfig
.FILENAME
: o nome do ficheiro de manifesto que criou.
Depois de realizar estes passos, os utilizadores pertencentes a determinados grupos Google podem
estabelecer ligação ao cluster. No exemplo apresentado, os utilizadores pertencentes ao grupo do Google cluster-admin-team
podem estabelecer ligação ao cluster como administradores.