View a markdown version of this page

Perfil do IAM do cluster do Amazon EKS - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Perfil do IAM do cluster do Amazon EKS

É necessário um perfil do IAM de cluster do Amazon EKS para cada cluster. Os clusters do Kubernetes gerenciados pelo Amazon EKS usam esse perfil para gerenciar nós, e o provedor de nuvem legado usa esse perfil para criar balanceadores de carga com o Elastic Load Balancing para serviços.

Antes de criar clusters do Amazon EKS, você deve criar um perfil do IAM com uma das seguintes políticas do IAM:

  • AmazonEKSClusterPolicy

  • Uma política do IAM personalizada. As permissões mínimas a seguir habilitam o cluster do Kubernetes a gerenciar nós, mas não permitem que o provedor de nuvem legado crie balanceadores de carga com Elastic Load Balancing. Sua política do IAM personalizada deve ter pelo menos as seguintes permissões:

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAnyValue:StringLike": { "aws:TagKeys": "kubernetes.io/cluster/*" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeAvailabilityZones", "ec2:DescribeInstanceTopology", "kms:DescribeKey" ], "Resource": "*" } ] }
nota

Antes de 3 de outubro de 2023, AmazoneksClusterPolicy era exigido no perfil do IAM para cada cluster.

Antes de 16 de abril de 2020, a AmazonEKSServicePolicy e a AmazonEKSClusterPolicy eram exigidas, e o nome sugerido para o perfil era eksServiceRole. Com o perfil vinculado ao serviço AWSServiceRoleForAmazonEKS, a política AmazonEKSServicePolicy não será mais necessária para clusters criados em ou após 16 de abril de 2020.

Verificar se há um perfil de cluster existente

É possível usar o procedimento a seguir para verificar se a conta já tem o perfil do cluster do Amazon EKS.

  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Funções.

  3. Pesquise na lista de perfis eksClusterRole. Se não houver um perfil que inclua eksClusterRole, consulte Criar um perfil para o cluster do Amazon EKS para criá-lo. Se houver um perfil que inclua eksClusterRole, selecione-a para visualizar as políticas anexadas.

  4. Escolha Permissões.

  5. Verifique se a política gerenciada AmazonEKSClusterPolicy está anexada ao perfil. Se a política estiver anexada, o perfil do cluster do Amazon EKS foi configurado corretamente.

  6. Escolha Trust relationships (Relacionamentos de confiança) e, em seguida, escolha Edit trust policy (Editar política de confiança).

  7. Verifique se o relacionamento de confiança contém a seguinte política: Se o relacionamento de confiança corresponder à seguinte política, escolha Cancel (Cancelar). Se o relacionamento de confiança não corresponder, copie a política para a janela Edit trust policy (Editar política de confiança) e escolha Update policy (Atualizar política).

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Criar um perfil para o cluster do Amazon EKS

Você pode usar o Console de gerenciamento da AWS ou a CLI AWS para criar o perfil de cluster.

Console de gerenciamento da AWS
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Escolha Perfis e, em seguida, Criar perfil.

  3. Em Tipo de entidade confiável, selecione Serviço da AWS.

  4. Na lista suspensa Casos de uso para outros serviços AWS, escolha EKS.

  5. Escolha EKS - Cluster para o caso de uso e escolha Next (Próximo).

  6. Na guia Add permissions (Adicionar permissões), escolha Next (Próximo).

  7. Em Nome do perfil, insira um nome exclusivo para o perfil, como eksClusterRole.

  8. Em Description (Descrição), insira um texto descritivo, como Amazon EKS - Cluster role.

  9. Selecione Criar perfil.

AWS CLI
  1. Copie o conteúdo a seguir em um arquivo chamado cluster-trust-policy.json.

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Crie a função. Você pode substituir eksClusterRole por qualquer nome que desejar.

    aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json"
  3. Anexe o perfil do IAM necessário ao perfil.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name eksClusterRole