

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

# Conceder acesso dos pods a recursos da AWS baseados em tags
<a name="pod-id-abac"></a>

O controle de acesso por atributo (ABAC) concede direitos aos usuários por meio de políticas que combinam os atributos. A Identidade de Pods do EKS anexa tags às credenciais temporárias de cada pod com atributos como nome do cluster, namespace e nome da conta de serviço. Essas tags de sessão de perfil permitem que os administradores criem um único perfil que pode funcionar em várias contas de serviço, permitindo o acesso aos recursos da AWS com base em tags correspondentes. Ao adicionar suporte a tags de sessão de perfil, você pode impor limites de segurança mais rígidos entre clusters e workloads dentro dos clusters enquanto reutilizam os mesmos perfis e políticas do IAM.

## Exemplo de política com tags
<a name="_sample_policy_with_tags"></a>

Confira abaixo um exemplo de política do IAM que concede permissões `s3:GetObject` quando o objeto correspondente é marcado com o nome do cluster do EKS.

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectTagging"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/eks-cluster-name": "${aws:PrincipalTag/eks-cluster-name}"
                }
            }
        }
    ]
}
```

## Habilitar ou desabilitar tags de sessão
<a name="pod-id-abac-tags"></a>

A Identidade de Pods do EKS adiciona um conjunto predefinido de tags de sessão quando assume o perfil. Essas tags de sessão permitem que os administradores criem um único perfil que pode funcionar em vários recursos, permitindo o acesso aos recursos da AWS com base em tags correspondentes.

### Habilitar tags de sessão
<a name="_enable_session_tags"></a>

As tags de sessão são automaticamente habilitadas com a Identidade de Pods do EKS. Nenhuma ação é necessária de sua parte. Por padrão, a Identidade de Pods do EKS anexa um conjunto de tags predefinidas à sua sessão. Para referenciar essas tags nas políticas, use a sintaxe `${aws:PrincipalTag/` seguida pela chave da tag. Por exemplo, `${aws:PrincipalTag/kubernetes-namespace}`.
+  `eks-cluster-arn` 
+  `eks-cluster-name` 
+  `kubernetes-namespace` 
+  `kubernetes-service-account` 
+  `kubernetes-pod-name` 
+  `kubernetes-pod-uid` 

### Desabilitar tags de sessão
<a name="_disable_session_tags"></a>

 A AWS compacta políticas de sessão em linha, ARNs de política gerenciada e tags de sessão em um formato binário compactado que tem um limite separado. Caso receba um erro `PackedPolicyTooLarge` indicando que o formato binário compactado excedeu o limite de tamanho, você pode tentar reduzir o tamanho desabilitando as tags de sessão adicionadas pela Identidade de Pods do EKS. Para desabilitar essas tags de sessão, siga estas etapas:

1. Abra o [console do Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. No painel de navegação à esquerda, selecione **Clusters** e depois o nome do cluster que você deseja modificar.

1. Escolha a guia **Acesso**.

1. Nas **Associações de Identidade de Pods**, escolha o ID da associação que você gostaria de modificar em **ID da associação** e depois **Editar**.

1. Em **Tags de sessão**, escolha **Desabilitar tags de sessão**.

1. Escolha **Salvar alterações**.

## Cópia entre contas
<a name="pod-id-abac-chaining"></a>

Todas as tags de sessão adicionadas pelo EKS Pod Identity são *transitivas*; as chaves e os valores das tags são passados para quaisquer ações `AssumeRole` usadas por suas workloads para trocar de perfil para outra conta. Você pode usar essas tags em políticas de outras contas para limitar o acesso em cenários entre contas. Para obter mais informações, consulte [Encadeamento de funções com tags de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining) no *Guia do usuário do IAM*.

## Tags personalizadas
<a name="pod-id-abac-custom-tags"></a>

O EKS Pod Identity não pode adicionar outras tags personalizadas à ação `AssumeRole` que ele mesmo executa. No entanto, as tags que você aplica ao perfil do IAM estão sempre disponíveis no mesmo formato: `${aws:PrincipalTag/` seguida pela chave, por exemplo, `${aws:PrincipalTag/MyCustomTag}`.

**nota**  
As tags adicionadas à sessão por meio da solicitação `sts:AssumeRole` têm precedência em caso de conflito. Por exemplo, vamos supor que:  
O Amazon EKS adiciona uma chave `eks-cluster-name` e um valor `my-cluster` à sessão quando o EKS assume o perfil de cliente.
Você adiciona uma tag `eks-cluster-name` ao perfil do IAM com o valor `my-own-cluster`.
Nesse caso, o primeiro tem precedência e o valor da tag `eks-cluster-name` será `my-cluster`.