Subsídios em AWS 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á.

Subsídios em AWS KMS

Uma concessão é um instrumento de política que permite que as entidades principais da AWS usem chaves do KMS em operações de criptografia. Ela também pode permitir que essas entidades visualizem uma chave do KMS (DescribeKey) e criem e gerenciem concessões. Ao autorizar o acesso a uma chave do KMS, concessões são consideradas junto com políticas de chave e políticas do IAM. Concessões geralmente são usadas para permissões temporárias, pois você pode criar uma, usar suas permissões e excluí-la sem alterar suas principais políticas ou políticas do IAM.

As concessões são comumente usadas por AWS serviços que se integram AWS KMS para criptografar seus dados em repouso. O serviço cria uma concessão em nome de um usuário na conta, usa suas permissões e desativa a concessão assim que sua tarefa é concluída. Para obter detalhes sobre como AWS os serviços usam concessões, consulte o tópico Criptografia em repouso no guia do usuário ou no guia do desenvolvedor do serviço.

Concessões são um mecanismo de controle de acesso muito flexível e útil. Quando você cria uma concessão para uma chave do KMS, essa concessão permite que a entidade principal autorizada chame as operações de concessão especificadas na chave do KMS, desde que todas as condições especificadas na concessão sejam atendidas.

  • Cada concessão permite o acesso a exatamente uma chave do KMS. Você pode criar uma concessão para uma chave do KMS em uma Conta da AWS diferente.

  • Uma concessão pode permitir acesso a uma chave do KMS, mas não pode negar acesso.

  • Cada concessão tem uma entidade principal autorizada. O principal beneficiário pode representar uma ou mais identidades na Conta da AWS mesma chave KMS ou em uma conta diferente.

  • Uma concessão só pode permitir operações de concessão. Operações de concessão devem ter suporte pela chave do KMS na concessão. Se você especificar uma operação sem suporte, a CreateGrantsolicitação falhará com uma ValidationError exceção.

  • A entidade principal autorizada pode usar as permissões autorizadas pela concessão sem especificar a concessão, exatamente como fariam se as permissões fossem provenientes de uma política de chave ou de uma política do IAM. No entanto, como a AWS KMS API segue um modelo de consistência eventual, quando você cria, retira ou revoga uma concessão, pode haver um breve atraso antes que a alteração esteja disponível por completo. AWS KMS Para usar as permissões em uma concessão imediatamente, use um token de concessão.

  • Uma entidade principal autorizada pode excluir a concessão (retirar ou revogar a concessão). A exclusão de uma concessão elimina todas as permissões permitidas por ela. Você não precisa descobrir quais políticas adicionar ou remover para desfazer a concessão.

  • AWS KMS limita o número de concessões em cada chave KMS. Para obter detalhes, consulte Concessões por chave do KMS: 50.000.

Tenha cautela ao criar concessões e ao dar permissão a outras pessoas para criar concessões. A permissão para criar concessões tem implicações de segurança, assim como permitir que o kms: PutKeyPolicy defina políticas.

  • Usuários com permissão para criar concessões para uma chave KMS (kms:CreateGrant) podem usar uma concessão para permitir que usuários e funções, incluindo AWS serviços, usem a chave KMS. Os diretores podem ser identidades próprias Conta da AWS ou identidades em uma conta ou organização diferente.

  • Os subsídios podem permitir somente um subconjunto de AWS KMS operações. É possível usar concessões para permitir que as entidades principais exibam a chave do KMS, usá-la em operações de criptografia e criar e retirar concessões. Para obter mais detalhes, consulte Operações de concessão. Você também pode usar restrições de concessão para limitar as permissões em uma concessão para uma chave de criptografia simétrica.

  • As entidades principais podem obter permissão para criar concessões a partir de uma política de chave ou de uma política do IAM. Entidades principais que recebem a permissão kms:CreateGrant de uma política podem criar concessões para qualquer operação de concessão na chave do KMS. Essas entidades principais não precisam ter a permissão que estão concedendo na chave. Quando você concede a permissão kms:CreateGrant em uma política, pode usar condições de políticas para limitar essa permissão.

  • As entidades principais também podem obter permissão para criar concessões de uma concessão. Mesmo que tenham outras permissões de uma política, essas entidades principais só podem delegar as permissões que foram concedidas a elas. Para obter detalhes, consulte Concedendo permissão CreateGrant .

Conceitos sobre concessões

Para usar concessões de maneira eficaz, você precisa entender os termos e conceitos que são usados pela AWS KMS .

Restrições de concessão

Uma condição que limita as permissões na concessão. Atualmente, AWS KMS oferece suporte a restrições de concessão com base no contexto de criptografia na solicitação de uma operação criptográfica. Para obter detalhes, consulte Usar restrições de concessão.

ID de concessão

O identificador exclusivo de uma concessão para uma chave do KMS. Você pode usar uma ID de concessão, junto com um identificador de chave, para identificar uma concessão em uma RevokeGrantsolicitação RetireGrantor.

Operações de concessão

As AWS KMS operações que você pode permitir em uma concessão. Se você especificar outras operações, a CreateGrantsolicitação falhará com uma ValidationError exceção. Estas são também as operações que aceitam um token de concessão. Para obter informações detalhadas sobre essas permissões, consulte a AWS KMS permissões.

Essas operações de concessão realmente representam permissão para usar a operação. Portanto, para a operação ReEncrypt, você pode especificar ReEncryptFrom, ReEncryptTo ou ambos ReEncrypt*.

As operações de concessão são:

As operações de concessão permitidas devem ter suporte pela chave do KMS na concessão. Se você especificar uma operação sem suporte, a CreateGrantsolicitação falhará com uma ValidationError exceção. Por exemplo, concessões para chaves do KMS de criptografia simétrica não podem permitir as operações Sign (Assinar), Verify (Verificar), GenerateMac ou VerifyMac. As concessões para chaves assimétricas do KMS não podem permitir nenhuma operação que gere chaves de dados ou pares de chaves de dados.

Token de concessão

A AWS KMS API segue um modelo de consistência eventual. Quando você cria uma concessão, pode haver um breve atraso antes que a alteração esteja disponível em todo o AWS KMS. Normalmente, a alteração leva menos de alguns segundos para se propagar por todo o sistema, mas, em alguns casos, pode levar vários minutos. Se você tentar usar uma concessão antes de ela se propagar totalmente pelo sistema, poderá obter um erro de acesso negado. Um token de concessão permite que você faça referência à concessão e use as permissões de concessão imediatamente.

Um token de concessão é uma string única, não secreta, de comprimento variável e codificada em base64 que representa uma concessão. Você pode usar o token de concessão para identificar a concessão em qualquer operação de concessão. No entanto, como o valor do token é um resumo de hash, ele não revela detalhes sobre a concessão.

Um token de concessão é projetado para ser usado somente até que a concessão seja totalmente propagada em todo o AWS KMS. Depois disso, a entidade principal receptora da concessão pode usar a permissão nessa concessão sem fornecer um token de concessão ou qualquer outra evidência da concessão. Você pode usar um token de concessão a qualquer momento, mas quando a concessão estiver consistente, AWS KMS use a concessão para determinar as permissões, não o token de concessão.

Por exemplo, o comando a seguir chama a GenerateDataKeyoperação. Ele usa um token de concessão para representar a concessão que dá ao autor da chamada (a entidade principal receptora da concessão) permissão para chamar GenerateDataKey na chave do KMS especificada.

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $token

Também é possível pode usar um token de concessão para identificar uma concessão em operações que gerenciam concessões. Por exemplo, o diretor que está se aposentando pode usar um token de concessão em uma chamada para a RetireGrantoperação.

$ aws kms retire-grant \ --grant-token $token

CreateGrant é a única operação que retorna um token de concessão. Você não pode obter um token de concessão de nenhuma outra AWS KMS operação ou do evento de CloudTrail log da CreateGrant operação. As ListRetirableGrantsoperações ListGrantse retornam o ID de concessão, mas não um token de concessão.

Para obter detalhes, consulte Usar um token de concessão.

Entidade principal receptora da concessão

As identidades que obtêm as permissões especificadas na concessão. Cada concessão tem uma entidade principal autorizada, mas a entidade principal autorizada pode representar várias identidades.

O principal beneficiário pode ser qualquer AWS principal, incluindo um Conta da AWS (root), um usuário do IAM, uma função do IAM, uma função ou usuário federado ou um usuário com função assumida. A entidade principal receptora da concessão pode estar na mesma conta da que a chave do KMS ou uma conta diferente. No entanto, a entidade principal receptora da concessão não pode ser umaentidade principal do serviço, umgrupo do IAM ou umAWS organização.

nota

As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

Retira (uma concessão)

Encerra uma concessão. Você retira uma concessão ao terminar de usar as permissões.

A revogação e a retirada de uma concessão excluem essa concessão. No entanto, o processo é feito por uma entidade principal especificada na concessão. A revogação geralmente é feita por um administrador de chave. Para obter detalhes, consulte Retirar e revogar concessões.

Retirada da entidade principal

Uma entidade principal que pode retirar uma concessão. Você pode especificar uma entidade de retirada em uma concessão, mas ela não é necessária. O diretor que está se aposentando pode ser qualquer AWS principal, incluindo usuários do IAM Contas da AWS, funções do IAM, usuários federados e usuários com funções assumidas. A entidade principal de retirada pode estar na mesma conta da que a chave do KMS ou uma conta diferente.

nota

As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

Além de se aposentar do diretor especificado no subsídio, um subsídio pode ser aposentado pela pessoa Conta da AWS em que o subsídio foi criado. Se a concessão permitir a operação RetireGrant, a entidade principal receptora da concessão poderá retirar a concessão. Além disso, o Conta da AWS ou Conta da AWS aquele que é o diretor que está se aposentando pode delegar a permissão para retirar uma bolsa a um diretor do IAM no mesmo. Conta da AWS Para obter detalhes, consulte Retirar e revogar concessões.

Revocar (uma concessão)

Encerra uma concessão. Você revoga uma concessão para negar ativamente as permissões que a concessão permite.

A revogação e a retirada de uma concessão excluem essa concessão. No entanto, o processo é feito por uma entidade principal especificada na concessão. A revogação geralmente é feita por um administrador de chave. Para obter detalhes, consulte Retirar e revogar concessões.

Consistência eventual (para concessões)

A AWS KMS API segue um modelo de consistência eventual. Quando você cria, retira ou revoga uma concessão, pode haver um breve atraso antes que a alteração esteja disponível em todo o AWS KMS. Normalmente, a alteração leva menos de alguns segundos para se propagar por todo o sistema, mas, em alguns casos, pode levar vários minutos.

Você pode ter conhecimento desse breve atraso se receber erros inesperados. Por exemplo, se você tentar gerenciar uma nova concessão ou usar as permissões em uma nova concessão antes que a concessão seja totalmente conhecida AWS KMS, você pode receber um erro de acesso negado. Se você retirar ou revogar uma concessão, a entidade principal receptora da concessão ainda poderá usar suas permissões por um breve período até que a concessão seja totalmente excluída. A estratégia típica é repetir a solicitação, e algumas AWS SDKs incluem lógica automática de recuo e repetição.

AWS KMS tem recursos para mitigar esse breve atraso.

nota

Os tokens de concessão substituem a validade da concessão até que todos os endpoints do serviço sejam atualizados com o novo estado de concessão. Na maioria dos casos, a consistência eventual será alcançada em cinco minutos.

Para obter informações, consulte consistência eventual do AWS KMS.