Em cenários multilocatários, o ACK emite arquivos kubeconfig com informações de identidade do usuário para acesso ao cluster. Revogue as credenciais kubeconfig distribuídas quando funcionários saírem da empresa ou houver risco de exposição das credenciais para proteger a segurança do cluster. Este tópico descreve como uma conta Alibaba Cloud ou um usuário RAM revoga credenciais kubeconfig emitidas.
A exclusão de um usuário RAM ou de uma função RAM não revoga automaticamente as permissões RBAC no arquivo kubeconfig. Sempre revogue o kubeconfig antes de excluir o usuário RAM.
Pré-requisitos
Verifique os seguintes requisitos:
-
Um cluster ACK criado após as seguintes datas:
Cluster gerenciado ACK ou cluster dedicado ACK: 15 de outubro de 2019
Cluster ACK Serverless: 6 de setembro de 2019
Uma conta Alibaba Cloud ou usuário RAM com acesso ao console ACK
Quem pode revogar o quê
|
Ator |
O que pode ser revogado |
|
Conta Alibaba Cloud |
Arquivos kubeconfig de todos os usuários RAM e funções RAM vinculados à conta |
|
Usuário RAM |
O próprio arquivo kubeconfig do usuário RAM |
Após a revogação, o ACK atribui automaticamente um novo arquivo kubeconfig ao cluster.
Revogar arquivos kubeconfig como conta Alibaba Cloud
Revogue os arquivos kubeconfig de usuários RAM ou funções RAM sob sua conta, por exemplo, quando um funcionário deixar a organização.
Uma conta Alibaba Cloud só pode revogar arquivos kubeconfig de usuários RAM ou funções RAM que ela gerencia.
Faça login no console ACK. No painel de navegação à esquerda, clique em Authorizations.
Na aba RAM Users, localize o usuário RAM desejado e clique em KubeConfig Management.
Na coluna Actions, clique em Delete KubeConfig File e confirme.
Revogar seu próprio arquivo kubeconfig como usuário RAM
Revogue seu próprio arquivo kubeconfig quando ele não for mais necessário ou tiver sido exposto.
Após a revogação, o arquivo kubeconfig não poderá mais ser usado para acessar o cluster.
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, clique em Cluster Information.
Na aba Connection Information, clique em Revoke KubeConfig e depois em OK.
Revogar kubeconfig de um usuário RAM excluído permanentemente
Se um usuário RAM foi excluído antes da revogação do kubeconfig, as associações RBAC correspondentes permanecem ativas. Escolha o método de limpeza com base na presença do usuário RAM na lixeira.
Antes de revogar, certifique-se de que nenhum aplicativo do cluster dependa das permissões contidas nesse arquivo kubeconfig.
Se o usuário RAM estiver na lixeira
Restaure o usuário RAM da lixeira. Não é necessário restaurar o par AccessKey.
Com a conta Alibaba Cloud, revogue os arquivos kubeconfig de todos os clusters criados pelo usuário RAM.
Se o usuário RAM foi excluído permanentemente
Exclua manualmente as associações RBAC do usuário RAM ou da função RAM removida.
O ACK nomeia as associações usando o ID do usuário RAM ou da função:
|
Tipo de associação |
Formato de nomenclatura |
|
ClusterRoleBinding |
|
|
RoleBinding |
|
O prefixo do ID indica o tipo de principal: 2 = usuário RAM, 3 = função RAM.
Etapa 1: Listar ClusterRoleBindings
Como administrador do cluster:
kubectl get clusterrolebinding
Identifique as associações que começam com o ID do usuário ou da função excluída.
Etapa 2: Listar RoleBindings
kubectl get rolebinding -A | grep 'cs:ns:'
Identifique as associações que começam com o ID do usuário ou da função excluída.
Etapa 3: Verificar se o usuário RAM ou a função RAM ainda existe
Para associações com prefixo
2(usuário RAM): No console RAM, acesse Users e pesquise pelo ID do usuário RAM. Caso o usuário não seja encontrado, exclua a associação.Para associações com prefixo
3(função RAM): Chame a API ListRoles. Se o ID da função RAM não aparecer na resposta, exclua a associação.
Etapa 4: Excluir as associações órfãs
kubectl delete clusterrolebinding xxxxxxx-clusterrolebinding
kubectl delete rolebinding xxxxxxx-yyyyy-rolebinding -n zzzz
Substitua xxxxxxx pelo ID do usuário RAM ou da função RAM, yyyyy pelo identificador da associação e zzzz pelo namespace do RoleBinding.