

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

# Exemplos de política do IAM
<a name="customer-managed-policies"></a>

Nesta seção, você pode encontrar exemplos de políticas do IAM que concedem permissões para várias ações do AWS KMS .

**Importante**  
Algumas permissões das políticas a seguir são concedidas somente quando a política de chaves da chave do KMS também as concede. Para obter mais informações, consulte [Referência de permissões](kms-api-permissions-reference.md).

Para ajuda sobre como escrever e formatar um documento de política JSON, consulte a[Referência a políticas JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html), no *Manual do usuário do IAM*.

**Topics**
+ [Permitir que um usuário visualize as chaves KMS no console AWS KMS](#iam-policy-example-read-only-console)
+ [Permitir que um usuário crie chaves do KMS](#iam-policy-example-create-key)
+ [Permitir que um usuário criptografe e descriptografe com qualquer chave KMS em uma determinada Conta da AWS](#iam-policy-example-encrypt-decrypt-one-account)
+ [Permitir que um usuário criptografe e descriptografe com qualquer chave KMS em uma região específica Conta da AWS](#iam-policy-example-encrypt-decrypt-one-account-one-region)
+ [Permitir que um usuário criptografe e descriptografe com chaves do KMS específicas](#iam-policy-example-encrypt-decrypt-specific-cmks)
+ [Impedir que um usuário desabilite ou exclua qualquer chave do KMS](#iam-policy-example-deny-disable-delete)

## Permitir que um usuário visualize as chaves KMS no console AWS KMS
<a name="iam-policy-example-read-only-console"></a>

A política do IAM a seguir permite que os usuários tenham acesso somente de leitura ao AWS KMS console. Os usuários com essas permissões podem visualizar todas as chaves KMS em suas Conta da AWS, mas não podem criar ou alterar nenhuma chave KMS. 

[Para visualizar as chaves KMS nas páginas de chaves **gerenciadas pelo cliente **Chaves gerenciadas pela AWS**e pelas páginas de chaves gerenciadas** pelo clienteListKeys, os diretores exigem as GetResources permissões [kms: ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html), kms: e [tag:](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html), mesmo que as chaves não tenham tags ou aliases.](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html) As permissões restantes, especialmente [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html), são necessárias para visualizar colunas e dados opcionais da tabela de chaves KMS nas páginas de detalhes da chave KMS. As ListRoles permissões [iam: ListUsers](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html) e [iam:](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRoles.html) são necessárias para exibir a política de chaves na visualização padrão sem erros. Para visualizar dados na página **Armazenamentos de chaves personalizadas** e detalhes sobre chaves KMS em armazenamentos de chaves personalizadas, os diretores também precisam da permissão [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html). DescribeCustomKeyStores

Se você limitar o acesso do console de um usuário a chaves do KMS específicas, o console exibirá um erro para cada chave do KMS que não estiver visível. 

Essa política inclui duas declarações de política. O elemento `Resource` na primeira instrução de política habilita as permissões especificadas em todas as chaves do KMS em todas as regiões da Conta da AWS de exemplo. Os visualizadores do console não precisam de acesso adicional porque o console do AWS KMS exibe somente chaves do KMS na conta da entidade principal. Isso é verdade mesmo que eles tenham permissão para visualizar as chaves KMS em outros Contas da AWS. As permissões restantes AWS KMS e do IAM exigem um `"Resource": "*"` elemento porque não se aplicam a nenhuma chave KMS específica.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ReadOnlyAccessForAllKMSKeysInAccount",
      "Effect": "Allow",
      "Action": [
        "kms:GetPublicKey",        
        "kms:GetKeyRotationStatus",
        "kms:GetKeyPolicy",
        "kms:DescribeKey",
        "kms:ListKeyPolicies",
        "kms:ListResourceTags",
        "tag:GetResources"
      ],
      "Resource": "arn:aws:kms:*:{{111122223333}}:key/*"
    },
    {
      "Sid": "ReadOnlyAccessForOperationsWithNoKMSKey",
      "Effect": "Allow",
      "Action": [
        "kms:ListKeys",
        "kms:ListAliases",
        "iam:ListRoles",
        "iam:ListUsers"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permitir que um usuário crie chaves do KMS
<a name="iam-policy-example-create-key"></a>

A seguinte política do IAM permite que um usuário crie todos os tipos de chaves do KMS. O valor do `Resource` elemento é `*` porque a `CreateKey` operação não usa nenhum AWS KMS recurso específico (chaves ou aliases do KMS).

Para restringir o usuário a tipos específicos de chaves KMS, use as chaves de [condição kms: KeySpec](conditions-kms.md#conditions-kms-key-spec), [kms: KeyUsage](conditions-kms.md#conditions-kms-key-usage) e [kms](conditions-kms.md#conditions-kms-key-origin):. KeyOrigin

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "kms:CreateKey",
    "Resource": "*"
  }
}
```

------

As entidades principais que criam chaves podem precisar de algumas permissões relacionadas.
+ **kms: PutKeyPolicy** — Os diretores que têm `kms:CreateKey` permissão podem definir a política inicial de chaves para a chave KMS. No entanto, o `CreateKey` chamador deve ter a PutKeyPolicy permissão [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html), que permite alterar a política de chaves do KMS, ou deve especificar o `BypassPolicyLockoutSafetyCheck` parâmetro de`CreateKey`, o que não é recomendado. O autor da chamada `CreateKey` pode obter a permissão `kms:PutKeyPolicy` para a chave do KMS a partir de uma política do IAM ou incluir essa permissão na política de chaves da chave do KMS que ele está criando.
+ **kms: TagResource** — Para adicionar tags à chave KMS durante a `CreateKey` operação, o `CreateKey` chamador deve ter a TagResource permissão [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html) em uma política do IAM. Não é suficiente incluir essa permissão na política de chaves da nova chave do KMS. No entanto, se o autor da chamada `CreateKey` incluir `kms:TagResource` na política de chaves inicial, ele poderá adicionar etiquetas a uma chamada separada após a criação da chave do KMS.
+ **kms: CreateAlias** — Os diretores que criam uma chave KMS no AWS KMS console devem ter a CreateAlias permissão [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html) na chave KMS e no alias. (O console faz duas chamadas; uma para `CreateKey` e outra para `CreateAlias`). É necessário fornecer a permissão de alias em uma política do IAM. É possível fornecer a permissão da chave do KMS em uma política de chave ou política do IAM. Para obter detalhes, consulte [Controlar o acesso a aliases](alias-access.md).

Além disso`kms:CreateKey`, a política do IAM a seguir fornece `kms:TagResource` permissão para todas as chaves KMS na Conta da AWS e `kms:CreateAlias` permissão para todos os aliases da conta. Ela também inclui algumas permissões úteis somente leitura que podem ser fornecidas somente em uma política do IAM. 

Essa política do IAM não inclui a permissão `kms:PutKeyPolicy` nem outras permissões que possam ser definidas em uma política de chaves. Uma [prática recomendada](iam-policies-best-practices.md) é definir essas permissões na política de chaves em que elas se aplicam exclusivamente a uma chave do KMS.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPermissionsForParticularKMSKeys",
      "Effect": "Allow",
      "Action": "kms:TagResource",
      "Resource": "arn:aws:kms:*:{{111122223333}}:key/*"
    },
    {
      "Sid": "IAMPermissionsForParticularAliases",
      "Effect": "Allow",
      "Action": "kms:CreateAlias",
      "Resource": "arn:aws:kms:*:{{111122223333}}:alias/*"
    },
    {
      "Sid": "IAMPermissionsForAllKMSKeys",
      "Effect": "Allow",
      "Action": [
        "kms:CreateKey",
        "kms:ListKeys",
        "kms:ListAliases"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permitir que um usuário criptografe e descriptografe com qualquer chave KMS em uma determinada Conta da AWS
<a name="iam-policy-example-encrypt-decrypt-one-account"></a>

A política do IAM a seguir permite que um usuário criptografe e descriptografe dados com qualquer chave KMS em 111122223333. Conta da AWS 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:Encrypt",
      "kms:Decrypt"
    ],
    "Resource": "arn:aws:kms:*:{{111122223333}}:key/*"
  }
}
```

------

## Permitir que um usuário criptografe e descriptografe com qualquer chave KMS em uma região específica Conta da AWS
<a name="iam-policy-example-encrypt-decrypt-one-account-one-region"></a>

A política do IAM a seguir permite que um usuário criptografe e descriptografe dados com qualquer chave KMS Conta da AWS `111122223333` na região Oeste dos EUA (Oregon).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:Encrypt",
      "kms:Decrypt"
    ],
    "Resource": [
      "arn:aws:kms:us-west-2:{{111122223333}}:key/*"
    ]
  }
}
```

------

## Permitir que um usuário criptografe e descriptografe com chaves do KMS específicas
<a name="iam-policy-example-encrypt-decrypt-specific-cmks"></a>

A política do IAM a seguir permite que um usuário criptografe e descriptografe dados com as duas chaves do KMS especificadas no elemento `Resource`. Ao especificar uma chave do KMS em uma instrução de política do IAM, você deve usar o [ARN de chave](concepts.md#key-id-key-ARN) dessa chave do KMS.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:Encrypt",
      "kms:Decrypt"
    ],
    "Resource": [
      "arn:aws:kms:us-west-2:{{111122223333}}:key/1234abcd-12ab-34cd-56ef-1234567890ab",
      "arn:aws:kms:us-west-2:{{111122223333}}:key/01234abc-d12a-b34c-d56e-f1234567890a'"
    ]
  }
}
```

------

## Impedir que um usuário desabilite ou exclua qualquer chave do KMS
<a name="iam-policy-example-deny-disable-delete"></a>

A política do IAM a seguir impede que um usuário desabilite ou exclua chaves do KMS, mesmo quando outra política do IAM ou uma política de chaves concede essas permissões. Uma política que nega explicitamente permissões substitui todas as outras políticas, mesmo aquelas que concedem explicitamente as mesmas permissões. Para obter mais informações, consulte [Solução de problemas de AWS KMS permissões](policy-evaluation.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": [
      "kms:DisableKey",
      "kms:ScheduleKeyDeletion"
    ],
    "Resource": "*"
  }
}
```

------