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.
Solução de problemas do IAM
Este tópico aborda alguns erros comuns que você pode encontrar ao usar o Amazon EKS com o IAM e como resolvê-los.
AccessDeniedException
Se você receber um AccessDeniedException
ao chamar uma operação de API da AWS, é porque as credenciais da entidade principal do IAM que estão sendo usadas não têm as permissões necessárias para faze essa chamada.
An error occurred (AccessDeniedException) when calling the DescribeCluster operation:
User: arn:aws:iam::111122223333
:user/user_name
is not authorized to perform:
eks:DescribeCluster on resource: arn:aws:eks:region
:111122223333
:cluster/my-cluster
No exemplo de mensagem anterior, o usuário não tem permissões para chamar a operação da API DescribeCluster
do Amazon EKS. Para conceder permissões de administrador do Amazon EKS a uma entidade principal do IAM, consulte Exemplos de políticas baseadas em identidade do Amazon EKS.
Para obter mais informações sobre o IAM, consulte Controlling access using policies (Controlar o acesso usando políticas) no Manual do usuário do IAM.
Não é possível ver Nodes (Nós) na guia Compute (Computação) ou qualquer coisa na guia Resources (Recursos), e você recebe um erro no AWS Management Console
Você pode ver uma mensagem de erro do console informando Your current user or role does not
have access to Kubernetes objects on this EKS cluster
. Verifique se o usuário da entidade principal do IAM com o qual você está usando o AWS Management Console tem as permissões necessárias. Para ter mais informações, consulte Permissões obrigatórias.
O aws-auth ConfigMap
não concede acesso ao cluster
O AWS IAM AuthenticatorConfigMap
. Portanto, antes de especificar rolearn
, remova o caminho. Por exemplo, altere arn:aws:iam::
para 111122223333
:role/team
/developers
/eks-admin
arn:aws:iam::
.111122223333
:role/eks-admin
Não estou autorizado a executar iam:PassRole
Se receber uma mensagem de erro informando que você não tem autorização para executar a ação iam:PassRole
, suas políticas devem ser atualizadas para permitir a transmissão de um perfil ao Amazon EKS.
Alguns Serviços da AWS permitem que você passe um perfil existente para o serviço, em vez de criar um novo perfil de serviço ou perfil vinculado ao serviço. Para fazer isso, é preciso ter permissões para passar o perfil para o serviço.
O erro exemplificado a seguir ocorre quando uma usuária do IAM chamada marymajor
tenta usar o console para executar uma ação no Amazon EKS. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.
User: arn:aws:iam::123456789012:user/
marymajor
is not authorized to perform: iam:PassRole
Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação iam:PassRole
.
Se você precisar de ajuda, entre em contato com seu administrador AWS. Seu administrador é a pessoa que forneceu suas credenciais de login.
Quero permitir que pessoas fora da minha conta da AWS acessem meus recursos do Amazon EKS
Você pode criar um perfil que os usuários de outras contas ou pessoas fora da sua organização podem usar para acessar seus recursos. Você pode especificar quem é confiável para assumir o perfil. Para serviços que oferecem compatibilidade com políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.
Para saber mais, consulte:
-
Para saber se o Amazon EKS oferece suporte a esses recursos, consulte Como o Amazon EKS funciona com o IAM.
-
Para saber como conceder acesso a seus recursos em todas as Contas da AWS pertencentes a você, consulte Fornecimento de acesso a um usuário do IAM em outra Conta da AWS pertencente a você no Guia de usuário do IAM.
-
Para saber como conceder acesso a seus recursos para terceiros Contas da AWS, consulte Fornecimento de acesso a Contas da AWS pertencentes a terceiros no Guia do usuário do IAM.
-
Para saber como conceder acesso por meio da federação de identidades, consulte Conceder acesso a usuários autenticados externamente (federação de identidades) no Guia do usuário do IAM.
-
Para saber a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte Acesso a recursos entre contas no IAM no Guia do usuário do IAM.
Os contêineres do pod recebem o seguinte erro: An error occurred (SignatureDoesNotMatch) when calling
the GetCallerIdentity operation: Credential should be scoped to a valid
region
Os contêineres receberão esse erro se a aplicação estiver explicitamente fazendo solicitações ao endpoint global AWS STS (https://sts.amazonaws
) e a conta de serviço do Kubernetes estiver configurada para utilizar um endpoint regional. É possível resolver o problema com uma das seguintes opções:
-
Atualize o código da aplicação para remover chamadas explícitas para o endpoint global do AWS STS.
-
Atualize o código da aplicação para fazer chamadas explícitas para endpoints regionais, como
https://sts.us-west-2.amazonaws.com
. Sua aplicação deve ter redundância incorporada para escolher uma Região da AWS diferente em caso de falha de serviço na Região da AWS. Para obter mais informações, consulte Gerenciar o AWS STS em uma Região da AWS no Guia do usuário do IAM. -
Configure as suas contas de serviço para utilizar o endpoint global. Todas as versões anteriores a
1.22
usavam o endpoint global por padrão, mas clusters da versão1.22
e posteriores utilizam o endpoint regional por padrão. Para ter mais informações, consulte Configurar o endpoint do AWS Security Token Service para uma conta de serviço.