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á.
O controle de acesso baseado em atributos (ABAC) é uma estratégia de autorização que define permissões com base em atributos. AWS KMS oferece suporte ao ABAC, permitindo que você controle o acesso às chaves gerenciadas pelo cliente com base nas tags e aliases associados às chaves KMS. As chaves de condição de tag e alias que permitem a entrada do ABAC AWS KMS fornecem uma maneira poderosa e flexível de autorizar os diretores a usar as chaves do KMS sem editar políticas ou gerenciar concessões. Porém, você deve usar esse recurso com cuidado, para que as entidades principais não sejam tenham o acesso inadvertidamente permitido ou negado.
Se você usar ABAC, esteja ciente de que a permissão para gerenciar etiquetas e aliases agora é uma permissão de controle de acesso. Certifique-se de conhecer as etiquetas e os aliases existentes em todas as chaves do KMS antes de implantar uma política que depende de etiquetas ou aliases. Tome precauções razoáveis ao adicionar, excluir e atualizar aliases e ao marcar e desmarcar chaves. Conceda permissões para gerenciar etiquetas e aliases apenas às entidades principais que precisam deles e limite as etiquetas e os aliases que eles podem gerenciar.
Observações
Ao usar o ABAC para AWS KMS, tenha cuidado ao dar permissão aos diretores para gerenciar tags e aliases. A alteração de uma etiqueta ou de um alias pode permitir ou negar permissão para uma chave do KMS. Os administradores de chaves que não tiverem permissão para alterar políticas de chaves ou criar concessões poderão controlar o acesso às chaves do KMS se tiverem permissão para gerenciar etiquetas ou aliases.
Pode levar até cinco minutos para que alterações de etiqueta e alias afetem a autorização de chaves do KMS. Alterações recentes podem estar visíveis em operações de API antes de afetarem a autorização.
Para controlar o acesso a uma chave do KMS com base em seu alias, você deve usar uma chave de condição. Você não pode usar um alias para representar uma chave do KMS no elemento Resource
de uma instrução de política. Quando um alias é exibido no elemento Resource
, a instrução de política aplica-se a esse alias, e não à chave do KMS associada.
Saiba mais
-
Para obter detalhes sobre o AWS KMS suporte ao ABAC, incluindo exemplos, consulte Usar aliases para controlar o acesso a chaves do KMS e. Usar tags para controlar o acesso a chaves do KMS
-
Para obter mais informações gerais sobre o uso de tags para controlar o acesso aos AWS recursos, consulte Para AWS que serve o ABAC? e controlar o acesso aos AWS recursos usando tags de recursos no Guia do usuário do IAM.
Chaves de condição ABAC para AWS KMS
Para autorizar o acesso a chaves do KMS com base em suas etiquetas e aliases, use as seguintes chaves de condição em uma política de chaves ou política do IAM.
Chave de condição para ABAC | Descrição | Tipo de política | AWS KMS operações |
---|---|---|---|
leis: ResourceTag | A etiqueta (chave e valor) na chave do KMS corresponde à etiqueta (chave e valor) ou ao padrão de etiqueta na política | Somente política do IAM | Operações de recursos de chaves do KMS 2 |
aws:RequestTag//tecla de tag | A etiqueta (chave e valor) na solicitação corresponde à etiqueta (chave e valor) ou ao padrão de etiqueta na política | Políticas de chaves e políticas do IAM1 | TagResource, UntagResource |
leis: TagKeys | Chaves de etiqueta na solicitação correspondem a chaves de etiqueta na política | Políticas de chaves e políticas do IAM1 | TagResource, UntagResource |
kms: ResourceAliases | Aliases associados à chave do KMS correspondem a aliases ou padrões de alias na política | Somente política do IAM | Operações de recursos de chaves do KMS 2 |
kms: RequestAlias | O alias que representa a chave do KMS na solicitação corresponde ao alias ou aos padrões de alias na política. | Políticas de chaves e políticas do IAM1 | Operações criptográficas, DescribeKeyGetPublicKey |
1Qualquer chave de condição que possa ser usada em uma política de chaves também pode ser usada em uma política do IAM, mas somente sea política de chaves a permitir.
2A operação de recurso de chave do KMS é uma operação autorizada para uma chave do KMS específica. Para identificar as operações de recursos de chaves do KMS, no tabela de permissões do AWS KMS, procure um valor de chave do KMS na coluna Resources
para a operação.
Por exemplo, é possível usar essas chaves de condição para criar as seguintes políticas.
-
Uma política do IAM com
kms:ResourceAliases
que concede permissão para usar chaves do KMS com um alias específico ou um padrão de alias. Isso é um pouco diferente das políticas que dependem de tags: embora você possa usar padrões de aliases em uma política, cada alias deve ser exclusivo em uma região Conta da AWS e. Isso permite que você aplique uma política a um conjunto selecionado de chaves KMS sem listar a chave ARNs das chaves KMS na declaração de política. Para adicionar ou remover chaves do KMS do conjunto, altere o alias da chave do KMS. -
Uma política de chaves com
kms:RequestAlias
que permite que as entidades principais usem uma chave do KMS em uma operaçãoEncrypt
, mas somente quando a solicitaçãoEncrypt
usa esse alias para identificar a chave do KMS. -
Uma política do IAM com
aws:ResourceTag/tag-key
que nega permissão para usar chaves do KMS com uma determinada chave de etiqueta e um valor de etiqueta. Isso permite aplicar uma política a um conjunto selecionado de chaves KMS sem listar a chave ARNs das chaves KMS na declaração de política. Para adicionar ou remover chaves do KMS do conjunto, marque ou desmarque a chave do KMS. -
Uma política do IAM com
aws:RequestTag/tag-key
que permite que as entidades principais excluam somente etiquetas"Purpose"="Test"
de chaves do KMS. -
Uma política do IAM com
aws:TagKeys
que nega permissão para marcar ou desmarcar uma chave do KMS com uma chave de etiquetaRestricted
.
O ABAC torna o gerenciamento de acesso flexível e escalável. Por exemplo, você pode usar a chave de condição aws:ResourceTag/tag-key
para criar uma política do IAM que permite que as entidades principais usem uma chave do KMS para operações especificadas somente quando essa chave tem uma etiqueta Purpose=Test
. A política aplica-se a todas as chaves do KMS em todas as regiões da Conta da AWS.
Quando anexada a um usuário ou função, a seguinte política do IAM permite que as entidades principais usem todas as chaves do KMS existentes com uma etiqueta Purpose=Test
para as operações especificadas. Para fornecer esse acesso a chaves do KMS novas ou existentes, não é necessário alterar a política. Basta anexar a etiqueta Purpose=Test
às chaves do KMS. Da mesma forma, para remover esse acesso das chaves do KMS com uma etiqueta Purpose=Test
, edite ou exclua essa etiqueta.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }
No entanto, se você usar esse recurso, tenha cautela ao gerenciar etiquetas e aliases. Operações de adicionar, alterar ou excluir uma marca ou alias podem inadvertidamente permitir ou negar acesso a uma chave do KMS. Os administradores de chaves que não tiverem permissão para alterar políticas de chaves ou criar concessões poderão controlar o acesso às chaves do KMS se tiverem permissão para gerenciar etiquetas e aliases. Para atenuar esse risco, considerelimitar permissões para gerenciar etiquetas ealiases. Por exemplo, é possível permitir que apenas as entidades principais selecionadas gerenciem etiquetas do Purpose=Test
. Para obter mais detalhes, consulte Usar aliases para controlar o acesso a chaves do KMS e Usar tags para controlar o acesso a chaves do KMS.
Etiquetas ou aliases?
AWS KMS suporta ABAC com tags e aliases. Ambas as opções proporcionam uma estratégia de controle de acesso flexível e escalável, mas são ligeiramente diferentes uma da outra.
Você pode decidir usar tags ou usar aliases com base em seus padrões de AWS uso específicos. Por exemplo, se você já concedeu permissões de marcação para a maioria dos administradores, talvez seja mais fácil controlar uma estratégia de autorização baseada em aliases. Ou, se você estiver se aproximando da cota de aliases por chave do KMS, talvez prefira uma estratégia de autorização baseada em etiquetas.
Os benefícios a seguir são de interesse geral.
Benefícios do controle de acesso baseado em tags
-
O mesmo mecanismo de autorização para diferentes tipos de AWS recursos.
É possível usar a mesma etiqueta ou chave de etiqueta para controlar o acesso a vários tipos de recursos, como cluster do Amazon Relational Database Service (Amazon RDS), volume do Amazon Elastic Block Store (Amazon EBS) e chave do KMS. Esse recurso permite diversos modelos de autorização diferentes que são mais flexíveis que o controle de acesso baseado em função tradicional.
-
Autorize o acesso a um grupo de chaves do KMS.
É possível usar etiquetas para gerenciar o acesso a um grupo de chaves do KMS na mesma região e Conta da AWS . Atribua a mesma etiqueta ou chave de etiqueta às chaves do KMS qye você escolher. Em seguida, crie uma declaração easy-to-maintain de política simples baseada na tag ou na chave da tag. Para adicionar ou remover uma chave do KMS do seu grupo de autorização, adicione ou remova a etiqueta: não é necessário editar a política.
Benefícios do controle de acesso baseado em alias
-
Autorize o acesso a operações de criptografia com base em aliases.
A maioria das condições de política baseadas em solicitações para atributos, incluindo aws:RequestTag/tag-key, afetam somente as operações que adicionam, editam ou excluem o atributo. Mas a chave kms: RequestAlias condition controla o acesso às operações criptográficas com base no alias usado para identificar a chave KMS na solicitação. Por exemplo, você pode conceder uma permissão à entidade principal para usar uma chave do KMS em uma operação
Encrypt
, mas somente quando o valor do parâmetroKeyId
éalias/restricted-key-1
. Para atender a essa condição, é necessário o seguinte:-
A chave do KMS deve estar associada a esse alias.
-
A solicitação deve usar o alias para identificar a chave do KMS.
-
A entidade principal deve ter permissão para usar a chave do KMS sujeita à condição
kms:RequestAlias
.
Isso é particularmente útil se seus aplicativos geralmente usam nomes de alias ou alias ARNs para se referir às chaves KMS.
-
-
Forneça permissões muito limitadas.
Um alias deve ser exclusivo em uma região Conta da AWS e. Como resultado, o ato de conceder acesso para as entidades principais a uma chave do KMS baseada em um alias pode ser muito mais restritivo do que o conceder acesso para eles com base em uma etiqueta. Diferentemente de aliases, etiquetas podem ser atribuídas a várias chaves do KMS na mesma conta e região. Se você escolher, é possível usar um padrão de alias, como
alias/test*
, a fim de conceder acesso para as entidades principais a um grupo de chaves do KMS na mesma conta e região. Porém, permitir ou negar o acesso a um alias específico possibilita um controle muito rigoroso sobre as chaves do KMS.