

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

# Práticas recomendadas para políticas do IAM
<a name="iam-policies-best-practices"></a>

Proteger o acesso ao AWS KMS keys é fundamental para a segurança de todos os seus AWS recursos. Chaves do KMS são usadas para proteger muitos dos recursos mais confidenciais da sua Conta da AWS. Reserve algum tempo para elaborar as [políticas de chave](key-policies.md), políticas do IAM, [concessões](grants.md) e políticas de endpoint da VPC que controlam o acesso às suas chaves do KMS.

Em instruções de políticas do IAM que controlam o acesso a chaves do KMS, use o [princípio de menor privilégio](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). Conceda às entidades principais do IAM somente as permissões de que eles precisam somente nas chaves do KMS que elas devem usar ou gerenciar. 

As práticas recomendadas a seguir se aplicam às políticas do IAM que controlam o acesso a AWS KMS chaves e aliases. Para obter uma orientação geral sobre as práticas recomendadas da política do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

**Usar políticas de chaves**  
Sempre que possível, conceda permissões em políticas de chaves que afetem uma chave do KMS, em vez de em uma política do IAM que possa ser aplicada a muitas chaves do KMS, incluindo aquelas em outras Contas da AWS. Isso é particularmente importante para permissões confidenciais, como [kms: PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) e [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html), ScheduleKeyDeletion mas também para operações criptográficas que determinam como seus dados são protegidos.

**Limitar CreateKey a permissão**  
Dê permissão para criar chaves ([kms: CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)) somente aos diretores que precisarem delas. Entidades principais que criam uma chave do KMS também definem sua política de chave, para que possam conceder a si mesmas e a outros permissão para usar e gerenciar as chaves do KMS criadas. Ao conceder essa permissão, considere limitá-la usando [condições de política](policy-conditions.md). Por exemplo, você pode usar a KeySpec condição [kms:](conditions-kms.md#conditions-kms-key-spec) para limitar a permissão às chaves KMS de criptografia simétrica.

**Especificar chaves do KMS em uma política do IAM**  
Como prática recomendada, especifique o [ARN da chave](concepts.md#key-id-key-ARN) de cada chave do KMS à qual a permissão se aplica no elemento `Resource` da instrução de política. Esta prática restringe a permissão a chaves do KMS necessárias para a entidade principal. Por exemplo, esse elemento `Resource` lista apenas as chaves do KMS que a entidade principal precisa usar.  

```
"Resource": [
    "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"
]
```
Quando especificar chaves KMS for impraticável, use um `Resource` valor que limite o acesso às chaves KMS em uma região confiável, Conta da AWS como. `arn:aws:kms:region:account:key/*` Ou limite o acesso às chaves KMS em todas as regiões (\$1) de uma rede confiável Conta da AWS, como`arn:aws:kms:*:account:key/*`.  
Não é possível usar um [ID de chave](concepts.md#key-id-key-id), um [alias do nome](concepts.md#key-id-alias-name) ou [alias do ARN](concepts.md#key-id-alias-ARN) para representar uma chave do KMS no campo `Resource` de uma política do IAM. Se você especificar um ARN de alias, a política se aplicará ao alias, e não à chave do KMS. Para obter informações gerais sobre políticas do IAM para aliases, consulte [Controlar o acesso a aliases](alias-access.md)

**Evite "Resource": "\$1" em uma política do política do IAM**  <a name="avoid-resource-star"></a>
Use caracteres curinga (\$1) com critério. Em uma política de chaves, o caractere curinga no elemento `Resource` representa a chave do KMS à qual a política de chaves está associada. Mas em uma política do IAM, um caractere curinga sozinho no `Resource` elemento (`"Resource": "*"`) aplica as permissões a todas as chaves do KMS em tudo o Contas da AWS que a conta do diretor tem permissão para usar. Isso pode incluir [chaves KMS em outras Contas da AWS](key-policy-modifying-external-accounts.md), bem como chaves KMS na conta do diretor.  
Por exemplo, para usar uma chave KMS em outra Conta da AWS, um principal precisa da permissão da política de chaves da chave KMS na conta externa e de uma política do IAM em sua própria conta. Suponha que uma conta arbitrária concedeu permissão à sua Conta da AWS [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) em suas . Em caso afirmativo, uma política do IAM na sua conta que dê acesso uma função com permissão `kms:Decrypt` em todas as chaves do KMS (`"Resource": "*"`) atenderá à parte do IAM do requisito. Como resultado, as entidades principais que podem assumir essa função agora podem descriptografar textos cifrados usando a chave do KMS na conta não confiável. As entradas de suas operações aparecem nos CloudTrail registros de ambas as contas.  
Especificamente, evite usar `"Resource": "*"` em uma declaração de política que permita as operações de API a seguir. Essas operações podem ser chamadas em chaves KMS em outras Contas da AWS.  
+ [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)
+ [GetKeyRotationStatus](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyRotationStatus.html)
+ [Operações criptográficas](kms-cryptography.md#cryptographic-operations) [https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html)
+ [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html), [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html), [ListRetirableGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListRetirableGrants.html), [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html), [RevokeGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)

**Quando usar "Resource": "\$1"**  <a name="require-resource-star"></a>
Em uma política do IAM, use um caractere curinga no elemento `Resource` somente para permissões que o exijam. Somente as permissões a seguir exigem o elemento `"Resource": "*"`.  
+ [kms: CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
+ [kms: GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html)
+ [kms: ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)
+ [kms: ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)
+ Permissões para armazenamentos de chaves personalizadas, como [kms: CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html) e [kms](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html):. ConnectCustomKeyStore
As permissões para operações de alias ([kms: CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html), [kms:UpdateAlias, [kms: DeleteAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteAlias.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)) devem ser anexadas ao alias e à chave KMS. É possível usar `"Resource": "*"` em uma política do IAM para representar os aliases e as chaves do KMS, ou especificar os aliases e as chaves do KMS no elemento `Resource`. Para obter exemplos, consulte [Controlar o acesso a aliases](alias-access.md).

 

Os exemplos deste tópico fornecem mais informações e orientações para criar políticas do IAM para chaves do KMS. Para ver as melhores práticas do IAM para todos os AWS recursos, consulte [as melhores práticas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) *no Guia do usuário do IAM*.