Função do IAM do cluster do Amazon EKS - Amazon EKS

Ajudar a melhorar esta página

Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.

Função do IAM do cluster do Amazon EKS

A função do IAM de cluster do Amazon EKS é necessária para cada cluster. slusters do Kubernetes gerenciados pelo Amazon EKS usam essa função para gerenciar nós e o provedor de nuvem legado usa essa função para criar balanceadores de carga com o Elastic Load Balancing para serviços.

Antes de criar clusters do Amazon EKS, você deve criar uma função do IAM com uma das seguintes políticas do IAM:

  • AmazonEKSClusterPolicy

  • Uma política do IAM personalizada. As permissões mínimas a seguir permitem que o Kubernetes cluster gerencie nós, mas não permitem que o provedor de nuvem legado crie balanceadores de carga com o 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", "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, AmazonEKSServicePolicy e AmazonEKSClusterPolicy eram obrigatórios, 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á uma função de cluster existente

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

Para verificar a eksClusterRole no console do IAM;
  1. Abra o console IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Roles.

  3. Pesquise eksClusterRole na lista de funções. Se não houver uma função que inclua eksClusterRole, consulte Criar uma função para o cluster do Amazon EKS para criar a função. Se houver uma função 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 à função. Se a política estiver anexada, a função do cluster do Amazon EKS estará configurada 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 uma função para o cluster do Amazon EKS

Para criar uma função do cluster, você pode usar o AWS Management Console ou o AWS CLI.

AWS Management Console
Para criar a função de cluster do Amazon EKS no console do IAM
  1. Abra o console IAM em https://console.aws.amazon.com/iam/.

  2. Escolha Roles (Funções) e, em seguida, Create Role (Criar função).

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

  4. Na lista suspensa Casos de uso para outros Serviços da 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 Role name (Nome da função), insira um nome exclusivo para a função, como eksClusterRole.

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

  9. Selecione Criar função.

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

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

    aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json"
  3. Anexe a política do IAM necessária à função.

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