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.
Criar entradas de acesso
Considerações
Antes de criar entradas de acesso, considere o seguinte:
-
Um modo de autenticação definido corretamente. Consulte Alterar o modo de autenticação para usar entradas de acesso.
-
Uma entrada de acesso inclui o nome do recurso da Amazon (ARN) de uma, e somente uma, entidade principal do IAM existente. Uma entidade principal do IAM não pode ser incluída em mais de uma entrada de acesso. Considerações adicionais para o ARN especificado por você:
-
As práticas recomendadas do IAM sugerem que você acesse o cluster usando perfis do IAM que têm credenciais de curto prazo, em vez de usuários do IAM que têm credenciais de longo prazo. Para obter mais informações, consulte Exija que os usuários humanos usem a federação com um provedor de identidades para acessar a AWS usando credenciais temporárias no Guia do usuário do IAM.
-
Se o ARN for para um perfil do IAM, ele pode incluir um caminho. Os ARNs nas entradas
ConfigMap
aws-auth
não podem incluir um caminho. Por exemplo, seu ARN pode serarn:aws:iam::
ou111122223333
:role/development/apps/
my-role
arn:aws:iam::
.111122223333
:role/my-role
-
Se o tipo da entrada de acesso for diferente de
STANDARD
(consulte a próxima consideração sobre os tipos), o ARN deverá estar na mesma Conta da AWS em que seu cluster está. Se o tipo forSTANDARD
, o ARN poderá estar na mesma Conta da AWS, ou outra diferente, da conta em que seu cluster está. -
Não é possível alterar a entidade principal do IAM depois que a entrada de acesso é criada.
-
Se você alguma vez você excluir a entidade principal do IAM com esse ARN, a entrada de acesso não será excluída automaticamente. Recomendamos que você exclua a entrada de acesso com um ARN para uma entidade principal do IAM que você exclua. Se você não excluir a entrada de acesso e nunca recriar a entidade principal do IAM, mesmo que ela tenha o mesmo ARN, a entrada de acesso não funcionará. Isto ocorre porque, embora o ARN seja o mesmo para a entidade principal do IAM recriado, o
roleID
ouuserID
(você pode ver isso com o comandoaws sts get-caller-identity
da AWS CLI) é diferente para a entidade principal do IAM recriada do que foi para a entidade principal do IAM original. Mesmo que você não veja oroleID
ouuserID
da entidade principal do IAM para uma entrada de acesso, o Amazon EKS o armazena com a entrada de acesso.
-
-
Cada entrada de acesso tem um tipo. Você pode especificar
EC2 Linux
(para um perfil do IAM usado com nós autogerenciados do Linux ou do Bottlerocket),EC2 Windows
(para perfis do IAM usados com nós autogerenciados do Windows),FARGATE_LINUX
(para perfis do IAM usados com AWS Fargate) ouSTANDARD
como um tipo. Se você não especificar um tipo, o Amazon EKS definirá automaticamente o tipo comoSTANDARD
. Não é necessário criar uma entrada de acesso para um perfil do IAM usado para um grupo de nós gerenciados ou um perfil do Fargate, porque o Amazon EKS adiciona entradas para essas funções aoConfigMap
aws-auth
, independentemente da versão da plataforma em que seu cluster esteja.Não é possível alterar o tipo depois que a entrada de acesso é criada.
-
Se o tipo da entrada de acesso for
STANDARD
, será possível especificar um nome de usuário para a entrada de acesso. Se você não especificar um valor para o nome de usuário, o Amazon EKS definirá um dos valores a seguir para você, dependendo do tipo de entrada de acesso e de se a entidade principal do IAM que você especificou é um perfil do IAM ou um usuário do IAM. A menos que você tenha um motivo específico para determinar seu próprio nome de usuário, recomendamos que não especifique um e deixe o Amazon EKS gerá-lo automaticamente para você. Se você especificar seu próprio nome de usuário:-
Não pode começar com
system:
,eks:
,aws:
,amazon:
ouiam:
. -
Se o nome de usuário for para um perfil do IAM, recomendamos que você adicione
{{SessionName}}
ao final do seu nome de usuário. Se você adicionar{{SessionName}}
ao seu nome de usuário, ele deverá incluir dois pontos antes de {{SessionName}}. Quando essa função é assumida, o nome da sessão especificado ao assumir a função é automaticamente passado para o cluster e aparecerá nos logs do CloudTrail. Por exemplo, não é possível ter um nome de usuáriojohn{{SessionName}}
. O nome de usuário teria que ser:john{{SessionName}}
oujo:hn{{SessionName}}
. Os dois pontos precisam vir antes de{{SessionName}}
. O nome de usuário gerado pelo Amazon EKS na tabela a seguir inclui um ARN. Como um ARN inclui dois pontos, ele atende a esse requisito. Os dois pontos não serão necessários se você não incluir{{SessionName}}
no seu nome de usuário.
Tipo de entidade principal do IAM Tipo Valor do nome de usuário que o Amazon EKS define automaticamente Usuário STANDARD
O ARN do usuário. Exemplo:
arn:aws:iam::
111122223333
:user/my-user
Função STANDARD
O STS ARN da função quando ela é assumida. O Amazon EKS anexa
{{SessionName}}
à função.Exemplo:
arn:aws:sts::
111122223333
:assumed-role/my-role
/{{SessionName}}Se o ARN da função que você especificou contiver um caminho, o Amazon EKS o removerá no nome de usuário gerado.
Função EC2 Linux
ouEC2 Windows
system:node:{{EC2PrivateDNSName}}
Função FARGATE_LINUX
system:node:{{SessionName}}
Você poderá alterar o nome de usuário depois que a entrada de acesso for criada.
-
-
Se o tipo de entrada de acesso for
STANDARD
e você quiser usar a autorização RBAC do Kubernetes, poderá adicionar um ou mais nomes de grupos à entrada de acesso. Depois de criar uma entrada de acesso, você pode adicionar e remover nomes de grupos. Para que a entidade principal do IAM tenha acesso aos objetos do Kubernetes em seu cluster, você deve criar e gerenciar objetos de autorização baseada em funções (RBAC) do Kubernetes. Crie objetosRoleBinding
ouClusterRoleBinding
do Kubernetes em seu cluster que especifiquem o nome do grupo como umsubject
parakind: Group
. O Kubernetes autoriza o acesso da entidade principal do IAM a qualquer objeto de cluster que você especificou em um objetoRole
ClusterRole
do Kubernetes que você também especificou noroleRef
da vinculação. Se você especificar nomes de grupo, convém familiarizar-se com os objetos de autorização com base em função (RBAC) do Kubernetes. Para mais informações, consulte Using RBAC Authorization(Usar autorização RBAC) na documentação do Kubernetes. Importante
O Amazon EKS não confirma que nenhum objeto RBAC do Kubernetes existente no seu cluster inclua nenhum dos nomes de grupos que você especificar.
Em vez de, ou além de, o Kubernetes autorizar o acesso da entidade principal do IAM aos objetos do Kubernetes em seu cluster, você pode associar as políticas de acesso do Amazon EKS a uma entrada de acesso. O Amazon EKS autoriza as entidades principais do IAM a acessar objetos do Kubernetes em seu cluster com as permissões na política de acesso. Você pode definir o escopo das permissões de uma política de acesso aos namespaces do Kubernetes que você especificar. O uso de políticas de acesso não exige que você gerencie objetos RBAC do Kubernetes. Para ter mais informações, consulte Associar políticas de acesso a entradas de acesso.
-
Se você criar uma entrada de acesso com o tipo
EC2 Linux
ouEC2 Windows
, a entidade principal do IAM que criou a entrada de acesso deverá ter a permissãoiam:PassRole
. Para obter mais informações, consulte Conceder permissões a um usuário para passar uma função para um AWS service (Serviço da AWS) no Guia do usuário do IAM. -
Semelhante ao comportamento padrão do IAM, a criação e as atualizações de entradas de acesso acabam sendo consistentes e podem levar alguns segundos para serem efetivadas após o retorno bem-sucedido da chamada inicial de API. Suas aplicações devem ser projetadas para levar em conta esses possíveis atrasos. Recomendamos que você não inclua criações ou atualizações de entrada de acesso nos caminhos de código críticos de alta disponibilidade da sua aplicação. Em vez disso, faça alterações do em uma rotina de inicialização ou de configuração separada que você executa com menos frequência. Além disso, certifique-se de verificar se as alterações foram propagadas antes que os fluxos de trabalho de produção dependam delas.
-
As entradas de acesso não oferecem suporte para perfis vinculados ao serviço. Não é possível criar entradas de acesso nas quais o ARN da entidade principal corresponde a um perfil vinculado ao serviço. É possível identificar perfis vinculados ao serviço pelo ARN deles, que está no formato
arn:aws:iam::*:role/aws-service-role/*
.
Você pode criar uma entrada de acesso usando o AWS Management Console ou a AWS CLI.