

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Solução de problemas do IAM
<a name="security-iam-troubleshoot"></a>

Este tópico aborda alguns erros comuns que você pode encontrar ao usar o Amazon EKS com o IAM e como resolvê-los.

## AccessDeniedException
<a name="iam-error"></a>

Se você receber um `AccessDeniedException` ao chamar uma operação de API da AWS, é porque as credenciais da [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) 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](security-iam-id-based-policy-examples.md).

Para obter mais informações sobre o IAM, consulte [Controlling access using policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html) (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 Console de gerenciamento da AWS
<a name="security-iam-troubleshoot-cannot-view-nodes-or-workloads"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) com o qual você está usando o Console de gerenciamento da AWS tem as permissões necessárias. Para obter mais informações, consulte [Permissões obrigatórias](view-kubernetes-resources.md#view-kubernetes-resources-permissions).

## O aws-auth `ConfigMap` não concede acesso ao cluster
<a name="security-iam-troubleshoot-configmap"></a>

O [AWS IAM Authenticator](https://github.com/kubernetes-sigs/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
<a name="security-iam-troubleshoot-passrole"></a>

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 uma função 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
<a name="security-iam-troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível 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), é possível 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](security-iam-service-with-iam.md).
+ 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ê](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia de Usuário do IAM*.
+ Para saber como conceder acesso aos recursos para contas da AWS de terceiros, consulte [Fornecer acesso a contas da AWS pertencentes a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) 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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) 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`
<a name="security-iam-troubleshoot-wrong-sts-endpoint"></a>

Seus contêineres receberão esse erro se a aplicação estiver explicitamente fazendo solicitações ao endpoint global do AWS STS (`https://sts.amazonaws`) e sua conta de serviço do Kubernetes estiver configurada para usar 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 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`. Seu aplicação deve ter redundância incorporada para escolher uma região AWS diferente em caso de falha do serviço na região AWS. Para obter mais informações, consulte [Gerenciar o AWS STS em uma região da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html), no Guia do usuário do IAM.
+ Configure as suas contas de serviço para utilizar o endpoint global. Os clusters usam o endpoint regional por padrão. Para obter mais informações, consulte [Configurar o endpoint do AWS Security Token Service para uma conta de serviço](configure-sts-endpoint.md).