Use aliases para controlar o acesso às chaves KMS - 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á.

Use aliases para controlar o acesso às chaves KMS

Você pode controlar o acesso às KMS chaves com base nos aliases associados à KMS chave. Para fazer isso, use as teclas de ResourceAliases condição kms: RequestAlias e kms:. Esse recurso faz parte do AWS KMS suporte ao controle de acesso baseado em atributos ()ABAC.

A chave de kms:RequestAlias condição permite ou nega acesso a uma KMS chave com base no alias em uma solicitação. A chave de kms:ResourceAliases condição permite ou nega acesso a uma KMS chave com base nos aliases associados à KMS chave.

Esses recursos não permitem que você identifique uma KMS chave usando um alias no resource elemento de uma declaração de política. Quando um alias é o valor de um resource elemento, a política se aplica ao recurso de alias, não a qualquer KMS chave que possa estar associada a ele.

nota

Pode levar até cinco minutos para que as alterações de tag e alias afetem a autorização da KMS chave. Mudanças recentes podem estar visíveis nas API operações antes de afetarem a autorização.

Ao usar aliases para controlar o acesso às KMS chaves, considere o seguinte:

  • Use aliases para reforçar as práticas recomendadas de acesso com privilégio mínimo. Dê aos IAM diretores somente as permissões necessárias para as KMS chaves que eles devem usar ou gerenciar. Por exemplo, use aliases para identificar as KMS chaves usadas em um projeto. Em seguida, dê permissão à equipe do projeto para usar somente KMS chaves com os aliases do projeto.

  • Tenha cautela ao conceder às entidades principais as permissões kms:CreateAlias, kms:UpdateAlias ou kms:DeleteAlias, que permitem adicionar, editar e excluir aliases. Quando você usa aliases para controlar o acesso às KMS chaves, a alteração de um alias pode dar aos diretores permissão para usar KMS chaves que, de outra forma, eles não tinham permissão para usar. Também pode negar o acesso às KMS chaves que outros diretores precisam para realizar seu trabalho.

  • Revise os diretores Conta da AWS que atualmente têm permissão para gerenciar aliases e ajustar as permissões, se necessário. Os principais administradores que não têm permissão para alterar políticas de chaves ou criar concessões podem controlar o acesso às KMS chaves se tiverem permissão para gerenciar aliases.

    Por exemplo, a política de chaves padrão para administradores de chaves do console inclui as permissões kms:CreateAlias, kms:DeleteAlias e kms:UpdateAlias. IAMas políticas podem dar permissões de alias para todas as KMS chaves em seu Conta da AWS. Por exemplo, a política AWSKeyManagementServicePowerUsergerenciada permite que os diretores criem, excluam e listem aliases para todas as KMS chaves, mas não os atualizem.

  • Antes de definir uma política que dependa de um alias, revise os aliases nas KMS chaves do seu. Conta da AWS Assegure-se de que sua política se aplique somente aos aliases que você pretende incluir. Use CloudTrail registros e CloudWatch alarmes para alertá-lo sobre alterações de alias que possam afetar o acesso às suas KMS chaves. Além disso, a ListAliasesresposta inclui a data de criação e a data da última atualização de cada alias.

  • As condições de política de alias usam correspondência de padrões. Elas não estão vinculadas a uma instância específica de um alias. Uma política que usa chaves de condição com base em alias afeta todos os aliases novos e existentes que correspondem ao padrão. Se você excluir e recriar um alias que corresponde a uma condição de política, esta última se aplicará ao novo alias e também ao antigo.

A chave de condição kms:RequestAlias depende do alias especificado explicitamente em uma solicitação de operação. A chave de kms:ResourceAliases condição depende dos aliases associados a uma KMS chave, mesmo que eles não apareçam na solicitação.

kms: RequestAlias

Permita ou negue acesso a uma KMS chave com base no alias que identifica a KMS chave em uma solicitação. Você pode usar a chave de RequestAlias condição kms: em uma política ou IAM política de chaves. Ela se aplica a operações que usam um alias para identificar uma KMS chave em uma solicitação, ou seja, operações criptográficas DescribeKey, e. GetPublicKey Não é válido para operações de alias, como CreateAliasou DeleteAlias.

Na chave de condição, especifique um nome de alias ou um padrão de nome de alias. Você não pode especificar um alias ARN.

Por exemplo, a declaração de política chave a seguir permite que os diretores usem as operações especificadas na KMS chave. A permissão só é efetiva quando a solicitação usa um alias que inclui alpha para identificar a KMS chave.

{ "Sid": "Key policy using a request alias condition", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/alpha-developer" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:RequestAlias": "alias/*alpha*" } } }

O seguinte exemplo de solicitação de uma entidade principal autorizada atenderia à condição. No entanto, uma solicitação que usasse um ID de chave, uma chave ARN ou um alias diferente não atenderia à condição, mesmo que esses valores identificassem a mesma KMS chave.

$ aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"

kms: ResourceAliases

Permita ou negue acesso a uma KMS chave com base nos aliases associados à KMS chave, mesmo que o alias não seja usado em uma solicitação. A chave de ResourceAliases condição kms: permite especificar um alias ou padrão de alias, comoalias/test*, para que você possa usá-la em uma IAM política para controlar o acesso a várias KMS chaves na mesma região. É válido para qualquer AWS KMS operação que use uma KMS chave.

Por exemplo, a IAM política a seguir permite que os diretores gerenciem a rotação automática de KMS chaves nas chaves em duas Contas da AWS. No entanto, a permissão se aplica somente às KMS chaves associadas a aliases que começam comrestricted.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:EnableKeyRotation", "kms:DisableKeyRotation", "kms:GetKeyRotationStatus" ], "Resource": [ "arn:aws:kms:*:111122223333:key/*", "arn:aws:kms:*:444455556666:key/*" ], "Condition": { "ForAnyValue:StringLike": { "kms:ResourceAliases": "alias/restricted*" } } } ] }

A condição kms:ResourceAliases é uma condição do recurso, e não a solicitação. Dessa forma, uma solicitação que não especifique o alias ainda pode atender à condição.

O seguinte exemplo de solicitação, que especifica um alias correspondente, atende à condição.

$ aws kms enable-key-rotation --key-id "alias/restricted-project"

No entanto, o exemplo de solicitação a seguir também satisfaz a condição, desde que a KMS chave especificada tenha um alias que comece comrestricted, mesmo que esse alias não seja usado na solicitação.

$ aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"