Solução de problemas do IAM - 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.

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 Authenticator não permite um caminho no ARN da função usado no ConfigMap. Portanto, antes de especificar rolearn, remova o caminho. Por exemplo, altere arn:aws:iam::111122223333:role/team/developers/eks-admin para 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:

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ão 1.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.