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 ao AWS KMS keys é fundamental para a segurança de todos os seus AWS recursos. As chaves KMS são usadas para proteger muitos dos recursos mais confidenciais do seu Conta da AWS. Aproveite o tempo para projetar as políticas de chave, as políticas do IAM, as concessões e políticas de endpoint da VPC que controlam o acesso às 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 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 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 criptográficas que determinam como seus dados são protegidos.

Limitar CreateKey a permissão

Dê permissão para criar chaves (kms: CreateKey) 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. Por exemplo, você pode usar a KeySpec condição kms: 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 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 (*) de uma rede confiável Conta da AWS, comoarn: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. 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, 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 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.

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 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 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 obter orientações gerais sobre AWS KMS as melhores práticas, consulte as AWS Key Management Service Melhores Práticas (PDF). Para ver as melhores práticas do IAM para todos os AWS recursos, consulte as melhores práticas de segurança no IAM no Guia do usuário do IAM.