

 **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.

# Como o Amazon EKS funciona com o IAM
<a name="security-iam-service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso ao Amazon EKS, é necessário entender quais recursos do IAM estão disponíveis para uso com o Amazon EKS. Para obter uma visualização de alto nível de como o Amazon EKS e outros serviços da AWS funcionam com o IAM, consulte [Serviços da AWS compatíveis com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Manual do usuário do IAM*.

**Topics**
+ [Políticas baseadas em identidade do Amazon EKS](#security-iam-service-with-iam-id-based-policies)
+ [Políticas baseadas em recursos do Amazon EKS](#security-iam-service-with-iam-resource-based-policies)
+ [Autorização baseada em etiquetas do Amazon EKS](#security-iam-service-with-iam-tags)
+ [Funções do IAM no Amazon EKS](#security-iam-service-with-iam-roles)

## Políticas baseadas em identidade do Amazon EKS
<a name="security-iam-service-with-iam-id-based-policies"></a>

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. A Amazon EKS oferece suporte a ações, chaves de condição e recursos específicos. Para saber mais sobre todos os elementos usados em uma política JSON, consulte [Referência de elementos de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Ações
<a name="security-iam-service-with-iam-id-based-policies-actions"></a>

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. As ações de políticas geralmente têm o mesmo nome que a operação de API da AWS associada. Existem algumas exceções, como *Ações somente de permissão*, que não têm uma operação de API correspondente. Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de *ações dependentes*.

Incluem ações em uma política para conceder permissões para executar a operação associada.

As ações de política na Amazon EKS usam o seguinte prefixo antes da ação: `eks:`. Por exemplo, para conceder a alguém permissão para obter informações descritivas sobre um cluster do Amazon EKS, inclua a ação `DescribeCluster` na política dessa pessoa. As instruções de política devem incluir um elemento `Action` ou `NotAction`.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

```
"Action": ["eks:action1", "eks:action2"]
```

Você também pode especificar várias ações usando caracteres curinga (\$1). Por exemplo, para especificar todas as ações que começam com a palavra `Describe`, inclua a seguinte ação:

```
"Action": "eks:Describe*"
```

Para ver uma lista das ações do Amazon EKS, consulte [Ações definidas pelo Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions) na *Referência de autorização de serviço*.

### Recursos
<a name="security-iam-service-with-iam-id-based-policies-resources"></a>

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. As instruções devem incluir um elemento `Resource` ou `NotResource`. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Isso pode ser feito para ações que oferecem compatibilidade com um tipo de recurso específico, conhecido como *permissões em nível de recurso*.

Para ações que não oferecem suporte a permissões em nível de recurso, como operações de listagem, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

O recurso de cluster do Amazon EKS tem o seguinte ARN.

```
            arn:aws:eks:region-code:account-id:cluster/cluster-name
```

Para obter mais informações sobre o formato de ARNs, consulte [Nomes de recursos da Amazon (ARNs) e namespaces de serviços da AWS](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Por exemplo, para especificar o cluster chamado *my-cluster* em sua instrução, use o seguinte ARN:

```
"Resource": "arn:aws:eks:region-code:111122223333:cluster/my-cluster"
```

Para especificar todos os clusters que pertencem a uma conta e região da AWS específicas, use o caractere curinga (\$1):

```
"Resource": "arn:aws:eks:region-code:111122223333:cluster/*"
```

Algumas ações do Amazon EKS, como as que servem para a criação de recursos, não podem ser executadas em um recurso específico. Nesses casos, é necessário utilizar o caractere curinga (\$1).

```
"Resource": "*"
```

Para ver uma lista dos tipos de recursos do Amazon EKS e seus ARNs, consulte [Recursos definidos pelo Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-resources-for-iam-policies) na *Referência de autorização de serviço*. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte [Ações definidas pelo Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions).

### Chaves de condição
<a name="security-iam-service-with-iam-id-based-policies-conditionkeys"></a>

O Amazon EKS define seu próprio conjunto de chaves de condição e também oferece suporte ao uso de algumas chaves de condição globais. Para ver todas as chaves de condição globais da AWS, consulte [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

É possível definir chaves de condição ao associar um provedor OpenID Connect ao cluster. Para obter mais informações, consulte [Exemplo de política do IAM](authenticate-oidc-identity-provider.md#oidc-identity-provider-iam-policy).

Todas as ações do Amazon EC2 oferecem suporte às chaves de condição `aws:RequestedRegion` e `ec2:Region`. Para obter mais informações, consulte [Exemplo: Restrição de acesso a uma região específica do AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region).

Para obter uma lista de chaves de condição do Amazon EKS, consulte [Condições definidas pelo Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-policy-keys) na *Referência de autorização de serviço*. Para saber com quais ações e recursos você pode usar a chave de condição, consulte [Ações definidas pelo Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions).

### Exemplos
<a name="security-iam-service-with-iam-id-based-policies-examples"></a>

Para visualizar exemplos de políticas baseadas em identidade do Amazon EKS, consulte [Exemplos de políticas baseadas em identidade do Amazon EKS](security-iam-id-based-policy-examples.md).

Quando você cria um cluster do Amazon EKS, a [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que cria o cluster, recebe automaticamente permissões `system:masters` na configuração de controle de acesso baseado em perfil (RBAC) no ambiente de gerenciamento do Amazon EKS. Como essa entidade principal não é exibida em nenhuma configuração visível, mantenha o controle de qual entidade principal criou o cluster originalmente. Para conceder a outras entidades principais do IAM a capacidade de interagir com o cluster, edite o `aws-auth ConfigMap` no Kubernetes e crie um `rolebinding` ou `clusterrolebinding` do Kubernetes com o nome de um `group` especificado no `aws-auth ConfigMap`.

Para obter mais informações sobre como trabalhar com o ConfigMap, consulte [Conceder aos usuários e perfis do IAM acesso às APIs do Kubernetes](grant-k8s-access.md).

## Políticas baseadas em recursos do Amazon EKS
<a name="security-iam-service-with-iam-resource-based-policies"></a>

O Amazon EKS não oferece suporte a políticas baseadas em recursos.

## Autorização baseada em etiquetas do Amazon EKS
<a name="security-iam-service-with-iam-tags"></a>

É possível anexar etiquetas aos recursos do Amazon EKS ou passar etiquetas em uma solicitação para o Amazon EKS. Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `aws:ResourceTag/key-name `, `aws:RequestTag/key-name ` ou chaves de condição `aws:TagKeys`. Para obter mais informações sobre recursos de marcação do Amazon EKS, consulte [Organizar recursos do Amazon EKS com tags](eks-using-tags.md). Para obter mais informações sobre com quais ações você pode usar tags em chaves de condição, consulte [Actions defined by Amazon EKS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions) (Ações definidas pelo Amazon EKS) na [Referência de autorização do serviço](https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html).

## Funções do IAM no Amazon EKS
<a name="security-iam-service-with-iam-roles"></a>

[Perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) é uma entidade dentro da sua conta da AWS que tem permissões específicas.

### Usar credenciais temporárias com o Amazon EKS
<a name="security-iam-service-with-iam-roles-tempcreds"></a>

É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. Você obtém credenciais de segurança temporárias chamando operações de API do AWS STS, como AssumeRole ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html).

A Amazon EKS oferece suporte ao uso de credenciais temporárias.

### Perfis vinculados ao serviço
<a name="security-iam-service-with-iam-roles-service-linked"></a>

 [Perfis vinculados ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-service-linked-role) permitem que os serviços da AWS acessem recursos em outros serviços para concluir uma ação em seu nome. Os perfis vinculados a serviço aparecem em sua conta do IAM e são de propriedade do serviço. Um administrador pode visualizar, mas não pode editar as permissões de perfis vinculados ao serviço.

Amazon EKS oferece suporte às funções de serviço. Para obter detalhes sobre como criar ou gerenciar funções vinculadas ao serviço do Amazon EKS, consulte [Usar funções vinculadas ao serviço para o Amazon EKS](using-service-linked-roles.md).

### Perfis de serviço
<a name="security-iam-service-with-iam-roles-service"></a>

Esse atributo permite que um serviço assuma um [perfil de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-service-role) em seu nome. O perfil permite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. Os perfis de serviço aparecem em sua conta do IAM e são de propriedade da conta. Isso significa que um administrador do IAM pode alterar as permissões para esse perfil. Porém, fazer isso pode alterar a funcionalidade do serviço.

Amazon EKS oferece suporte às funções de serviço. Para obter mais informações, consulte [Função do IAM do cluster do Amazon EKS](cluster-iam-role.md) e [Perfil do IAM em nós do Amazon EKS](create-node-role.md).

### Escolher uma função IAM no Amazon EKS
<a name="security-iam-service-with-iam-roles-choose"></a>

Ao criar um recurso de cluster no Amazon EKS, é necessário escolher uma função para permitir que o Amazon EKS acesse outros recursos da AWS em seu nome. Se você já tiver criado uma função de serviço, o Amazon EKS fornecerá uma lista de funções da qual escolher. É importante escolher uma função que tenha as políticas gerenciadas do Amazon EKS anexadas. Para obter mais informações, consulte [Verificar se há uma função de cluster existente](cluster-iam-role.md#check-service-role) e [Verificar se há uma função existente do nó](create-node-role.md#check-worker-node-role).