Práticas recomendadas para políticas do IAM - AWS Key Management Service

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

Proteger o acesso a AWS KMS keys, é fundamental para a segurança de todos os seus recursos da AWS. 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, políticas do IAM, concessões 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. 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 à chaves e aos aliases do AWS KMS. 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 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 e kms:ScheduleKeyDeletion, mas também para operações de criptografia que determinam como seus dados são protegidos.

Limitar a permissão CreateKey

Conceda permissão para criar chaves (kms:CreateKey) somente às entidades principais que precisam 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. Por exemplo, é possível usar a condição kms:KeySpec para limitar a permissão a chaves do KMS de criptografia simétrica.

Especificar chaves do KMS em uma política do IAM

Como prática recomendada, especifique o ARN da chave 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 do KMS for impraticável, use um valor Resource que limite o acesso a chaves do KMS em uma Conta da AWS e região confiáveis, como arn:aws:kms:region:account:key/*. Ou limite o acesso a chaves do KMS em todas as regiões (*) de uma Conta da AWS confiável, como arn:aws:kms:*:account:key/*.

Não é possível usar um ID de chave, um nome do alias ou ARN de alias 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

Evite "Resource": "*" em uma política do política do IAM

Use caracteres curinga (*) 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. No entanto, em uma política do IAM, um caractere curinga sozinho no elemento "Resource": "*" (Contas da AWS) aplica as permissões a todas as chaves do KMS em todas as Resource que a conta da entidade principal tem permissão para usar. Isso pode incluir chaves do KMS em outras Contas da AWS, bem como nas chaves do KMS na conta da entidade principal.

Por exemplo, para usar uma chave do KMS em outra Conta da AWS, uma entidade principal precisa de permissão da política de chaves da chave do KMS na conta externa e de uma política do IAM em sua própria conta. Suponha que uma conta arbitrária concedeu à sua Conta da AWS a permissão kms:Decrypt. 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 para suas operações aparecem nos logs do CloudTrail das duas 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 nas chaves do KMS em outras contas da Contas da AWS.

Quando usar "Resource": "*"

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

nota

As permissões para operações de alias (kms:CreateAlias, kms:UpdateAlias, kms:DeleteAlias) devem ser associadas ao alias e à chave do 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 ver exemplos, consulte Controlar o acesso a aliases.

 

Os exemplos deste tópico fornecem mais informações e orientações para criar políticas do IAM para chaves do KMS. Para práticas recomendadas do IAM para todos os recursos do AWS, consulte Melhores práticas de segurança no IAM no IAM User Guide.