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 AWS diretores ou diretores AWS de serviços usem chaves KMS em operações criptográficas. 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 um beneficiário, que pode ser um principal beneficiário (uma identidade AWS do IAM) ou um diretor de serviço beneficiário (um principal de serviço). AWS Você precisa especificar o
GranteePrincipalou oGranteeServicePrincipal, mas não os dois. -
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
ValidationErrorexceçã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.
-
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:CreateGrantde 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ãokms:CreateGrantem 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 em uma concessão. AWS KMS suporta dois tipos de restrições de concessão:
-
Restrição de contexto de criptografia — restringe as permissões com base no contexto de criptografia incluído na solicitação de uma operação criptográfica. Essa restrição funciona somente com chaves KMS de criptografia simétrica.
-
SourceArn restrição — restringe as permissões de concessão às solicitações feitas em nome de um recurso específico AWS . Isso está efetivamente colocando uma chave de condição aws:SourceArnglobal no subsídio. Essa restrição funciona com todos os tipos de chaves KMS.
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
ValidationErrorexceçã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 especificarReEncryptFrom,ReEncryptToou ambosReEncrypt*.As operações de concessão são:
-
Operações criptográficas
-
Outras operações
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
ValidationErrorexceção. Por exemplo, as concessões para chaves do KMS de criptografia simétrica não podem permitir as operações Sign, Verify,GenerateMacouVerifyMac. 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
GenerateDataKeyna chave do KMS especificada.$aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $tokenTambé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 $tokenCreateGranté 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
-
Um AWS principal (identidade do IAM) que obtém as permissões especificadas na concessão.
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.
Para especificar o principal beneficiário, use o
GranteePrincipalparâmetro na CreateGrantsolicitaçã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.
- Diretor de serviço do beneficiário
-
Um diretor AWS de serviço que obtém as permissões especificadas na concessão. Para especificar o principal serviço do beneficiário, use o
GranteeServicePrincipalparâmetro na CreateGrantsolicitação.Ao criar uma concessão com um
GranteeServicePrincipal, você também deve incluir um SourceArn grant constraint. ASourceArnrestrição garante que o responsável pelo serviço possa usar a chave KMS somente quando a solicitação for feita em nome do recurso especificado AWS .Ao especificar um
GranteeServicePrincipal, você também deve especificar um RetiringPrincipalou um RetiringServicePrincipal.
nota
Você precisa especificar o GranteePrincipal ou o GranteeServicePrincipal, mas não os dois.
- 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.
Para especificar o principal que está se aposentando, use o
RetiringPrincipalparâmetro na CreateGrantsolicitaçã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.
- Diretor de serviço aposentado
-
Um diretor AWS de serviço que tem permissão para retirar um subsídio. Para especificar o principal do serviço de desativação, use o
RetiringServicePrincipalparâmetro na CreateGrantsolicitação.
nota
Você pode especificar RetiringPrincipal ou RetiringServicePrincipal, mas não os dois.
Para obter mais informações sobre quem pode retirar um subsídio, consulteRetirar 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 alguns AWS SDKs incluem atrasos automáticos e lógica de repetição.
AWS KMS tem recursos para mitigar esse breve atraso.
-
Para usar as permissões em uma nova concessão imediatamente, use um token de concessão. Você pode usar um token de concessão para fazer referência a uma concessão em qualquer operação de concessão. Para instruções, consulte Usar um token de concessão.
-
A CreateGrantoperação tem um
Nameparâmetro que impede que operações de repetição criem concessões duplicadas.
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.
-