Função do IAM do cluster do Amazon EKS
Um perfil do IAM de cluster do Amazon EKS é necessário para cada cluster. Os clusters do Kubernetes gerenciados pelo Amazon EKS usam esse perfil para gerenciar nós, e o provedor de nuvem herdado
Antes de criar clusters do Amazon EKS, você deve criar uma função do IAM com uma das seguintes políticas do IAM:
-
Uma política do IAM personalizada. As permissões mínimas a seguir permitem que o cluster Kubernetes 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", "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, 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.
-
Abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
No painel de navegação à esquerda, escolha Roles.
-
Pesquise
eksClusterRole
na lista de perfis. Se não houver uma função que incluaeksClusterRole
, consulte Criar uma função para o cluster do Amazon EKS para criar a função. Se houver uma função que incluaeksClusterRole
, selecione-a para visualizar as políticas anexadas. -
Escolha Permissões.
-
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.
-
Escolha Trust relationships (Relacionamentos de confiança) e, em seguida, escolha Edit trust policy (Editar política de confiança).
-
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
Você pode usar o AWS Management Console ou a CLI AWS para criar o perfil de cluster.
- AWS Management Console
-
-
Abra o console do IAM, em https://console.aws.amazon.com/iam/
. -
Escolha Roles (Funções) e, em seguida, Create Role (Criar função).
-
Em Tipo de entidade confiável, selecione Serviço da AWS.
-
Na lista suspensa Casos de uso para outros serviços AWS, escolha EKS.
-
Escolha EKS - Cluster para o caso de uso e escolha Next (Próximo).
-
Na guia Add permissions (Adicionar permissões), escolha Next (Próximo).
-
Em Role name (Nome da função), insira um nome exclusivo para a função, como
eksClusterRole
. -
Em Description (Descrição), insira um texto descritivo, como
Amazon EKS - Cluster role
. -
Selecione Criar função.
-
- AWS CLI
-
-
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" } ] }
-
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"
-
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
-