Migrando entradas existentes aws-auth ConfigMap para entradas de acesso - Amazon EKS

Migrando entradas existentes aws-auth ConfigMap para entradas de acesso

Se você adicionou entradas ao ConfigMap aws-auth no seu cluster, recomendamos que você crie entradas de acesso para as entradas existentes no seu ConfigMap aws-auth. Depois de criar as entradas de acesso, você pode remover as entradas do seu ConfigMap. Você não pode associar Associar políticas de acesso a entradas de acessopolíticas de acesso às entradas no aws-auth ConfigMap. Se você quiser associar políticas de acesso às entidades principais do IAM, crie entradas de acesso.

Importante

Não remova as entradas ConfigMap aws-auth existentes que foram criadas pelo Amazon EKS quando você adicionou um Simplificar o ciclo de vida dos nós com grupos de nós gerenciadosgrupo de nós gerenciados ou um Defina quais Pods usam o AWS Fargate quando iniciadoperfil do Fargate ao seu cluster. Se você remover as entradas que o Amazon EKS criou no ConfigMap, seu cluster não funcionará corretamente. No entanto, você pode remover todas as entradas dos grupos de Fazer a manutenção dos nós por conta própria com nós autogerenciadosnós autogerenciados depois de criar entradas de acesso para eles.

  • Familiaridade com entradas de acesso e políticas de acesso. Para ter mais informações, consulte Conceder aos usuários do IAM acesso ao Kubernetes com entradas de acesso ao EKS e Associar políticas de acesso a entradas de acesso.

  • Um cluster existente com uma versão da plataforma que seja igual ou posterior às versões listadas no tópico Pré-requisitos do Conceder aos usuários do IAM acesso ao Kubernetes com entradas de acesso ao EKSPermitir que perfis ou usuários do IAM acessem objetos do Kubernetes no seu cluster do Amazon EKS.

  • Versão 0.194.0 ou posterior da ferramenta de linha de comando da eksctl instalada no seu dispositivo ou AWS CloudShell. Para instalar ou atualizar o eksctl, consulte Instalação na documentação do eksctl.

  • Permissões do Kubernetes para modificar o aws-auth ConfigMap no namespace kube-system.

  • Um perfil ou usuário do AWS Identity and Access Management com as seguintes permissões: CreateAccessEntry e ListAccessEntries. Para obter mais informações, consulte Ações definidas pelo Amazon Elastic Kubernetes Service na Referência de autorização do serviço.

    1. Veja as entradas existentes em seu aws-auth ConfigMap. Substitua my-cluster pelo nome do cluster.

      eksctl get iamidentitymapping --cluster my-cluster

      Veja um exemplo de saída abaixo.

      ARN USERNAME GROUPS ACCOUNT arn:aws:iam::111122223333:role/EKS-my-cluster-Admins Admins system:masters arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers my-namespace-Viewers Viewers arn:aws:iam::111122223333:role/EKS-my-cluster-self-managed-ng-1 system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes arn:aws:iam::111122223333:user/my-user my-user arn:aws:iam::111122223333:role/EKS-my-cluster-fargateprofile1 system:node:{{SessionName}} system:bootstrappers,system:nodes,system:node-proxier arn:aws:iam::111122223333:role/EKS-my-cluster-managed-ng system:node:{{EC2PrivateDNSName}} system:bootstrappers,system:nodes
    2. Criar entradas de acessoCrie entradas de acesso para qualquer uma das entradas do ConfigMap que você criou retornadas na saída anterior. Ao criar as entradas de acesso, verifique se você especificou os mesmos valores paraARN, USERNAME, GROUPS e ACCOUNT retornados em sua saída. No exemplo de saída, você criaria entradas de acesso para todas as entradas, exceto as duas últimas, já que essas entradas foram criadas pelo Amazon EKS para um perfil do Fargate e um grupo de nós gerenciados.

    3. Exclua as entradas do ConfigMap para todas as entradas de acesso que você criou. Se você não excluir a entrada do ConfigMap, as configurações da entrada de acesso do ARN principal do IAM substituirão a entrada do ConfigMap. Substitua 111122223333 pelo seu ID de conta AWS e EKS-my-cluster-my-namespace-Viewers pelo nome do perfil na entrada em seu ConfigMap. Se a entrada que você está removendo for para um usuário do IAM, em vez de um perfil do IAM, substitua role por user e EKS-my-cluster-my-namespace-Viewers pelo nome do usuário.

      eksctl delete iamidentitymapping --arn arn:aws:iam::111122223333:role/EKS-my-cluster-my-namespace-Viewers --cluster my-cluster