

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

# Controlar o acesso às tags
<a name="tag-permissions"></a>

Para adicionar, visualizar e excluir tags, seja no AWS KMS console ou usando a API, os diretores precisam de permissões de marcação. Você pode fornecer essas permissões em [políticas de chaves](key-policies.md). Também é possível fornecê-las em políticas do IAM (incluindo [políticas de endpoint da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/interface-endpoints.html#edit-vpc-endpoint-policy)), mas somente se [permitido pela política de chaves](key-policy-default.md#allow-iam-policies). A política [AWSKeyManagementServicePowerUser](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSKeyManagementServicePowerUser)gerenciada permite que os diretores marquem, desmarquem e listem as tags em todas as chaves KMS que a conta pode acessar. 

Você também pode limitar essas permissões usando chaves de condição AWS globais para tags. Em AWS KMS, essas condições podem controlar o acesso às operações de marcação, como [TagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html)e. [UntagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_UntagResource.html)

**nota**  
Tenha cuidado ao conceder permissão a entidades principais para gerenciar etiquetas e aliases. Alterar uma etiqueta ou um alias pode conceder ou negar uma permissão à chave gerenciada pelo cliente. Para obter mais detalhes, consulte [ABAC para AWS KMS](abac.md) e [Usar tags para controlar o acesso a chaves do KMS](tag-authorization.md).

Para mais informações e exemplos de políticas, consulte [Controlar o acesso baseado em chaves de etiqueta](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys), no *Guia do Usuário do IAM*.

As permissões para criar e gerenciar aliases funcionam como a seguir.

**kms:TagResource**  
Permite que as entidades principais adicionem ou editem etiquetas. Para adicionar etiquetas ao criar uma chave do KMS, a entidade principal deve ter permissão em uma política do IAM que não esteja restrita a chaves do KMS específicas.

**kms:ListResourceTags**  
Permite que as entidades principais visualizem etiquetas em chaves do KMS.

**kms:UntagResource**  
Permite que as entidades principais excluam etiquetas de chaves do KMS.

## Permissões de etiquetas em políticas
<a name="tag-permission-examples"></a>

Você pode fornecer permissões de marcação em uma política de chaves ou política do IAM. O seguinte exemplo de política de chaves concede permissão de marcação a usuários selecionados na chave do KMS. Ele concede a todos os usuários que podem assumir os exemplos de funções Administrador ou Desenvolvedor permissão para visualizar etiquetas.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "example-key-policy",
  "Statement": [
    { 
      "Sid": "EnableIAMUserPermissions",
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::111122223333:root"},
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "AllowAllTaggingPermissions",
      "Effect": "Allow",
      "Principal": {"AWS": [
        "arn:aws:iam::111122223333:user/LeadAdmin",
        "arn:aws:iam::111122223333:user/SupportLead"
      ]},
      "Action": [
          "kms:TagResource",
          "kms:ListResourceTags",
          "kms:UntagResource"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowRolesViewTags",
      "Effect": "Allow",
      "Principal": {"AWS": [
        "arn:aws:iam::111122223333:role/Administrator",
        "arn:aws:iam::111122223333:role/Developer"
      ]},
      "Action": "kms:ListResourceTags",
      "Resource": "*"
    }
  ]
}
```

------

Para conceder permissão de marcação de entidades principais em várias chaves do KMS, é possível usar uma política do IAM. Para que essa política seja eficiente, a política de chaves de cada chave do KMS deve permitir que a conta utilize políticas do IAM para controlar o acesso à chave do KMS.

Por exemplo, a seguinte política do IAM permite que as entidades principais criem chaves do KMS. Ela também permite que eles criem e gerenciem etiquetas em todas as chaves do KMS na conta especificada. Essa combinação permite que os diretores usem o parâmetro [Tags](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#KMS-CreateKey-request-Tags) da [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação para adicionar tags a uma chave KMS enquanto a criam. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyCreateKeys",
      "Effect": "Allow",
      "Action": "kms:CreateKey",
      "Resource": "*"
    },
    {
      "Sid": "IAMPolicyTags",
      "Effect": "Allow",
      "Action": [
        "kms:TagResource",
        "kms:UntagResource",
        "kms:ListResourceTags"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*"
    }    
  ]
}
```

------

## Limitar permissões de etiquetas
<a name="tag-permissions-conditions"></a>

É possível limitar permissões de marcação usando [condições de política](policy-conditions.md). As seguintes condições de política podem ser aplicadas às permissões `kms:TagResource` e `kms:UntagResource`. Por exemplo, você pode usar a condição `aws:RequestTag/tag-key` para permitir que uma entidade principal adicione apenas etiquetas específicas, ou pode impedir que uma entidade principal adicione etiquetas com chaves de etiqueta específicas. Você também pode usar a condição `kms:KeyOrigin` para impedir que as entidades principais marquem ou desmarcem chaves do KMS com [material de chave importado](importing-keys.md). 
+ [leis: RequestTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)
+ [aws:ResourceTag/*tag-key (somente*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) políticas do IAM)
+ [leis: TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tag-keys)
+ [kms: CallerAccount](conditions-kms.md#conditions-kms-caller-account)
+ [kms: KeySpec](conditions-kms.md#conditions-kms-key-spec)
+ [kms: KeyUsage](conditions-kms.md#conditions-kms-key-usage)
+ [kms: KeyOrigin](conditions-kms.md#conditions-kms-key-origin)
+ [kms: ViaService](conditions-kms.md#conditions-kms-via-service)

Como prática recomendada ao usar etiquetas para controlar o acesso a chaves do KMS, use a chave de condição `aws:RequestTag/tag-key` ou `aws:TagKeys` para determinar quais etiquetas (ou chaves de etiqueta) são permitidas.

Por exemplo, a política do IAM a seguir é semelhante à anterior. No entanto, essa política permite que as entidades principais criem etiquetas (`TagResource`) e excluam etiquetas `UntagResource` somente para etiquetas com um chave de etiqueta `Project`.

Como `TagResource` as `UntagResource` solicitações podem incluir várias tags, você deve especificar um operador `ForAllValues` ou `ForAnyValue` definir com a TagKeys condição [aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys). O operador `ForAnyValue` exige que pelo menos uma das chaves de etiqueta na solicitação corresponda a uma das chaves de etiqueta na política. O operador `ForAllValues` requer que todas as chaves de etiqueta na solicitação correspondam a uma das chaves de etiqueta na política. O `ForAllValues` operador também retorna `true` se não houver tags na solicitação, mas TagResource UntagResource falhará quando nenhuma tag for especificada. Para detalhes sobre os operadores de conjunto, consulte[Usar várias chaves e valores](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html#reference_policies_multi-key-or-value-conditions), no *Manual do usuário do IAM*.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyCreateKey",
      "Effect": "Allow",
      "Action": "kms:CreateKey",
      "Resource": "*"
    },
    {
      "Sid": "IAMPolicyViewAllTags",
      "Effect": "Allow",
      "Action": "kms:ListResourceTags",
      "Resource": "arn:aws:kms:*:111122223333:key/*"
    },
    {
      "Sid": "IAMPolicyManageTags",
      "Effect": "Allow",
      "Action": [
        "kms:TagResource",
        "kms:UntagResource"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*",
      "Condition": {
          "ForAllValues:StringEquals": {"aws:TagKeys": "Project"}
      }
    }
  ]
}
```

------