

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Políticas para controle de acesso baseado em etiquetas
<a name="security_iam_TBAC"></a>

É possível aplicar condições em sua política baseada em identidade para controlar o acesso a clusters virtuais e execuções de trabalhos com base em etiquetas. Para obter mais informações sobre marcação, consulte [Marcação de recursos do Amazon EMR no EKS](tag-resources.md).

Os exemplos a seguir demonstram diferentes cenários e maneiras de usar operadores de condição com chaves de condição do Amazon EMR no EKS. Estas instruções de política do IAM são destinadas somente para fins de demonstração e não devem ser usadas em ambientes de produção. Há várias maneiras de combinar declarações de políticas para conceder e negar permissões de acordo com seus requisitos. Para obter mais informações sobre como planejar e testar políticas do IAM, consulte o [Guia do usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

**Importante**  
Recusar, explicitamente, permissões para ações de uso de tags é uma consideração importante. Isso evita que os usuários façam a marcação de um recurso e, assim, concedam a si mesmos permissões que você não pretendia conceder. Se as ações de marcação de um recurso não forem negadas, um usuário poderá modificar as etiquetas e driblar a intenção das políticas baseadas em etiquetas. Para obter um exemplo de política que nega ações de marcação, consulte [Negação de acesso para adição ou remoção de etiquetas](#security_iam_TBAC_deny).

Os exemplos abaixo demonstram políticas de permissões baseadas em identidade usadas para controlar as ações que são permitidas com clusters virtuais do Amazon EMR no EKS.

## Ações permitidas somente em recursos com valores de etiquetas específicos
<a name="security_iam_TBAC_allow"></a>

No exemplo de política a seguir, o operador de StringEquals condição tenta combinar dev com o valor do departamento de tag. Se a etiqueta “Department” não tiver sido adicionada ao cluster virtual ou não contiver o valor “dev”, a política não se aplicará e as ações não serão permitidas por esta política. Se nenhuma outra instrução de política permitir as ações, o usuário poderá trabalhar somente com clusters virtuais que tenham essa etiqueta com este valor.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-containers:DescribeVirtualCluster"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department": "dev"
        }
      },
      "Sid": "AllowEMRCONTAINERDescribevirtualcluster"
    }
  ]
}
```

------

Você também pode especificar vários valores de tag usando um operador de condição. Por exemplo, para permitir ações em clusters virtuais nos quais a etiqueta `department` contém o valor `dev` ou `test`, você pode substituir o bloco condicional no exemplo anterior pelo apresentado a seguir.

```
"Condition": {
        "StringEquals": {
          "aws:ResourceTag/department": ["dev", "test"]
        }
      }
```

## Marcação obrigatória na criação de um recurso
<a name="security_iam_TBAC_require"></a>

No exemplo abaixo, a etiqueta precisa ser aplicada ao criar o cluster virtual.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-containers:CreateVirtualCluster"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/department": "dev"
        }
      },
      "Sid": "AllowEMRCONTAINERSCreatevirtualcluster"
    }
  ]
}
```

------

A instrução de política apresentada a seguir permite que um usuário crie um cluster virtual somente se o cluster tiver uma etiqueta `department`, que pode conter qualquer valor.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-containers:CreateVirtualCluster"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "Null": {
          "aws:RequestTag/department": "false"
        }
      },
      "Sid": "AllowEMRCONTAINERSCreatevirtualcluster"
    }
  ]
}
```

------

## Negação de acesso para adição ou remoção de etiquetas
<a name="security_iam_TBAC_deny"></a>

O efeito desta política é negar a um usuário a permissão para adicionar ou remover quaisquer etiquetas em clusters virtuais que estejam marcados com uma etiqueta `department` que contenha o valor `dev`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "emr-containers:TagResource",
        "emr-containers:UntagResource"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceTag/department": "dev"
        }
      },
      "Sid": "AllowEMRCONTAINERSTagresource"
    }
  ]
}
```

------