Esta página mostra como configurar o Grupos Google para funcionar com o controlo de acesso baseado em funções (RBAC) do Kubernetes nos seus clusters do Google Kubernetes Engine (GKE).
Os Grupos Google para RBAC permitem-lhe atribuir autorizações RBAC a membros de Grupos Google no Google Workspace. Os administradores do Google Workspace mantêm os utilizadores e os grupos completamente fora do GKE ou da Trusted Cloud consola. Por conseguinte, os administradores do cluster não precisam de informações detalhadas sobre os utilizadores.
A utilização dos Grupos Google para o RBAC também lhe permite integrar-se com as suas práticas de gestão de contas de utilizador existentes, como revogar o acesso quando alguém abandona a sua organização.
Esta página destina-se a especialistas e operadores de segurança que querem usar o Google Groups com o RBAC do Kubernetes em clusters do GKE. Para saber mais sobre as funções comuns e as tarefas de exemplo que referimos no conteúdo, consulte o artigo Funções e tarefas comuns do utilizador do GKE. Trusted Cloud by S3NS
Antes de ler esta página, certifique-se de que conhece as limitações dos Grupos Google ao criar grupos e adicionar utilizadores como membros.
Para usar o Google Groups para RBAC, conclua as seguintes tarefas:
- Cumpra os requisitos.
- Configure o Google Groups.
- Ative o Google Groups para o CABF num cluster.
- Definir e atribuir autorizações RBAC aos Grupos Google.
Requisitos
Para usar o Google Groups para RBAC, tem de ter acesso ao Google Workspace ou a qualquer edição do Cloud ID.
Limitações
- O GKE suporta utilizadores com associação a um máximo de 2000 grupos no grupo de segurança, incluindo associações aninhadas, com o Grupos Google para RBAC.
Configure os seus Grupos Google
Os passos seguintes mostram como configurar um grupo no Google Groups que funciona com o RBAC:
Crie um grupo no seu domínio com o nome
gke-security-groups
. O nomegke-security-groups
é obrigatório. Certifique-se de que o grupo tem a autorização Ver membros selecionada para Membros do grupo. Para ver detalhes, consulte o artigo Defina autorizações para gerir membros e conteúdo.Crie grupos, se ainda não existirem, que representem conjuntos de utilizadores que devem ter autorizações diferentes nos seus clusters, como programadores e administradores de clusters. Cada grupo tem de ter a autorização Ver membros para Membros do grupo.
Adicione os seus grupos como grupos aninhados ao grupo
gke-security-groups
. Não adicione utilizadores individuais como membros degke-security-groups
.
Para mais informações sobre a gestão dos Grupos Google, consulte o Centro de Ajuda do Grupos Google.
Para verificar se um utilizador específico pode realizar uma ação num recurso de cluster, o GKE verifica se o utilizador é membro de um grupo com acesso e se esse grupo está aninhado no grupo gke-security-groups
.
As informações sobre membros dos Grupos Google são armazenadas em cache durante um curto período. As alterações nas associações a grupos podem demorar alguns minutos a propagarem-se a todos os seus clusters. Além da latência das alterações de grupo, o armazenamento em cache padrão das credenciais de utilizador no cluster é de cerca de uma hora.
Ative os Grupos Google para RBAC em clusters
Pode ativar os Grupos Google para RBAC em clusters padrão e do Autopilot do GKE novos e existentes através da CLI Google Cloud ou da Trusted Cloud consola.
Crie um novo cluster
gcloud
Padrão
Para criar um novo cluster padrão e ativar os Grupos Google para RBAC, execute o seguinte comando:
gcloud container clusters create CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--security-group="gke-security-groups@DOMAIN"
Substitua o seguinte:
CLUSTER_NAME
: o nome do novo cluster.CONTROL_PLANE_LOCATION
: a localização do Compute Engine do plano de controlo do seu cluster. Indique uma região para clusters regionais ou uma zona para clusters zonais.DOMAIN
: o nome do domínio dogke-security-groups
grupo que criou.
Autopilot
Para criar um novo cluster do Autopilot e ativar os Grupos Google para RBAC, execute o seguinte comando:
gcloud container clusters create-auto CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--security-group="gke-security-groups@DOMAIN"
Consola
Para criar um novo cluster e ativar a funcionalidade Grupos Google para RBAC, siga os seguintes passos:
Aceda à página do Google Kubernetes Engine na Trusted Cloud consola.
Clique em add_box Criar.
Clique em Configurar para o modo de cluster que quer usar.
Para clusters do Autopilot, expanda a secção Opções avançadas para localizar as opções de Segurança.
Para clusters padrão, na secção Cluster, clique em Segurança.
Selecione a caixa de verificação Ativar grupos Google para RBAC.
Preencha o campo Grupo de segurança com
gke-security-groups@DOMAIN
.Clique em Criar.
Atualize um cluster existente
gcloud
Para atualizar um cluster existente para ativar os Grupos Google para RBAC, execute o seguinte comando:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--security-group="gke-security-groups@DOMAIN"
Substitua o seguinte:
CLUSTER_NAME
: o nome do cluster.CONTROL_PLANE_LOCATION
: a localização do Compute Engine do plano de controlo do seu cluster. Indique uma região para clusters regionais ou uma zona para clusters zonais.DOMAIN
: o nome do domínio dogke-security-groups
grupo que criou.
Consola
Para atualizar um cluster existente para ativar os Grupos Google para RBAC, siga os passos abaixo:
Aceda à página do Google Kubernetes Engine na Trusted Cloud consola.
Clique no nome do cluster que quer atualizar.
No separador Detalhes, localize a secção Segurança.
No campo Google Groups for RBAC, clique em edit Editar Google Groups for RBAC.
Selecione a caixa de verificação Ativar grupos Google para RBAC.
Preencha o campo Grupo de segurança com
gke-security-groups@DOMAIN
.Clique em Guardar alterações.
Defina e atribua autorizações
Depois de criar e configurar os Grupos Google para o RBAC, use funções e associações de funções
para definir autorizações RBAC e atribuir essas autorizações a Grupos Google
que são membros do grupo gke-security-groups
. Para ver instruções, consulte o artigo
Defina e atribua autorizações.
Valide os Grupos Google para a configuração do RBAC
As secções seguintes mostram como verificar se a configuração dos Grupos Google para RBAC foi bem-sucedida, através da CLI gcloud ou daTrusted Cloud consola.
Valide através da CLI gcloud
Execute um comando can-i
kubectl para verificar se pode realizar uma ação específica
num recurso específico do Kubernetes. Pode usar este método para automatizar os testes de acesso RBAC como parte do seu fluxo de trabalho de CI/CD.Por exemplo, o seguinte comando testa o acesso get
aos recursos pods
no espaço de nomes dev
:
kubectl auth can-i get pods \
--namespace=dev \
--as=USER \
--as-group=GROUP
Substitua o seguinte:
USER
: o nome do utilizador a roubar a identidade, comogke-user@example.com
. O utilizador especificado tem de ser membro do grupo para o qual está a testar o acesso.GROUP
: o nome do grupo a roubar a identidade, comogke-dev-users@example.com
.
Se USER
tiver acesso, o resultado é yes
. Caso contrário, a saída é no
.
Valide através da Trusted Cloud consola
Também pode validar o acesso RBAC executando um comando kubectl no seu cluster e verificando os registos.
Antes de começar
Antes de começar, certifique-se do seguinte:
- Não interagiu com o cluster que quer testar (por exemplo, não executou nenhum comando
kubectl
) durante, pelo menos, uma hora. A autenticação é colocada em cache durante uma hora. Deixar as credenciais em cache expirar permite-lhe certificar-se de que o pedido é registado quando ocorre. - É membro de, pelo menos, um dos grupos que são membros do grupo
gke-security-groups
, o que garante que algumas informações dos Grupos Google são registadas.
Ative os registos e execute um comando de teste
Ative o registo de acesso aos dados para o seu Trusted Cloud projeto. Para ativar o registo:
Aceda à página Registos de auditoria na Trusted Cloud consola.
Na tabela, selecione API Kubernetes Engine.
No menu Tipo de registo, selecione:
- Admin Read
- Dados lidos
- Gravação de dados
Clique em Guardar.
Para mais informações sobre como ativar o registo de auditoria, consulte o artigo Configurar registos de acesso a dados com a Cloud Console.
Execute um comando com
kubectl
no cluster, como o seguinte:kubectl create ns helloworld
Introduza uma consulta personalizada na página do Explorador de registos. Para executar a consulta:
Aceda à página Explorador de registos na Trusted Cloud consola.
Clique na seta na caixa Pré-visualização da consulta na parte superior da página.
Na caixa de menu pendente apresentada, especifique a seguinte consulta:
resource.type="k8s_cluster" resource.labels.location="CLUSTER_LOCATION" resource.labels.cluster_name="CLUSTER_NAME" protoPayload.resourceName="authorization.k8s.io/v1beta1/subjectaccessreviews" protoPayload.response.spec.user="EMAIL_ADDRESS"
Substitua o seguinte:
CLUSTER_LOCATION
: a região ou a zona do cluster.CLUSTER_NAME
: o nome do cluster.EMAIL_ADDRESS
: o endereço de email registado da sua conta Google.
Selecione Executar consulta. Deve aparecer, pelo menos, um resultado. Se não forem apresentados resultados, experimente aumentar o intervalo de tempo.
Selecione o cluster que quer examinar.
Clique em Expandir campos aninhados.
O campo
protoPayload.request.spec.group
contém os grupos onde:- Os grupos são membros de
gke-security-group
. - É membro do grupo.
Esta lista deve corresponder ao conjunto de grupos dos quais é membro. Se não existirem grupos, pode haver um problema com a forma como os grupos estão configurados.
- Os grupos são membros de
Opcionalmente, restaure o registo de acesso aos dados para as definições anteriores para evitar cobranças adicionais.
Efeitos da eliminação de grupos
Depois de configurar os Grupos Google para o RBAC, as concessões de acesso RBAC dependem da existência dos Grupos Google que criou. Considere os seguintes efeitos da eliminação de um dos grupos:
gke-security-group
: o GKE usa o ID exclusivo do grupogke-security-group
para encontrar os assuntos aos quais faz referência nas suas políticas de RBAC. Se eliminar este grupo, todas as concessões de acesso para os Grupos Google para RBAC falham.Se recriar o grupo
gke-security-group
, tem de reativar os Grupos Google para RBAC no cluster através dos passos na secção Atualize um cluster existente. A reativação do Grupos Google para atualizações de RBAC atualiza o cluster para usar o ID do grupo do novogke-security-group
grupo.Grupos de membros: se eliminar um dos grupos de membros que configurou para os Grupos Google para RBAC, todas as associações de RBAC desse grupo falham. Como resultado, todos os membros desse grupo perdem o acesso correspondente.
Para corrigir uma eliminação não intencional de um grupo de membros, crie um novo grupo com exatamente o mesmo nome do grupo eliminado. Torne o novo grupo membro do grupo
gke-security-group
seguindo os passos na secção Configure os Grupos Google.