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á.
Gerencias concessões
Entidades principais com as permissões necessárias podem exibir, usar e excluir (retirar ou revogar) concessões. Para refinar as permissões para criar e gerenciar subsídios, AWS KMS oferece suporte a várias condições de política que você pode usar nas principais políticas e IAM políticas.
Tópicos
Controlar o acesso a concessões
Você pode controlar o acesso às operações que criam e gerenciam subsídios nas principais IAM políticas, políticas e subsídios. As entidades principais que recebem a permissão CreateGrant
de uma concessão tem permissões de concessão mais limitadas.
APIoperação | Política ou IAM política chave | Concessão |
---|---|---|
CreateGrant | ✓ | ✓ |
ListGrants | ✓ | - |
ListRetirableGrants | ✓ | - |
Retirar concessões | (Limitado. Consulte Retirar e revogar concessões) | ✓ |
RevokeGrant | ✓ | - |
Ao usar uma política ou IAM política chave para controlar o acesso às operações que criam e gerenciam concessões, você pode usar uma ou mais das seguintes condições de política para limitar a permissão. AWS KMS suporta todas as seguintes chaves de condição relacionadas à concessão. Para obter informações e exemplos detalhados, consulte AWS KMS chaves de condição.
- kms: GrantConstraintType
-
Permite que as entidades principais criem uma concessão somente quando esta inclui a restrição de concessão especificada.
- kms: GrantIsFor AWSResource
-
Permite que os diretores
CreateGrant
liguem ouRevokeGrant
somente quando um AWS serviço integrado AWS KMSenvia a solicitação em nome do diretor. ListGrants
- kms: GrantOperations
-
Permite que as entidades principais criem uma concessão, mas limita a concessão às operações especificadas.
- kms: GranteePrincipal
-
Permite que as entidades principais criem uma concessão somente para a entidade principal receptora da concessão.
- kms: RetiringPrincipal
-
Permite que as entidades principais criem uma concessão somente quando esta especifica um entidade principal de retirada.
Visualizar concessões
Para visualizar a concessão, use a ListGrantsoperação. Você deve especificar a KMS chave à qual os subsídios se aplicam. Você também pode filtrar a lista de concessões por ID de concessão ou entidade principal receptora da concessão. Para obter mais exemplos, consulte Visualizar uma concessão.
Para ver todas as doações na Conta da AWS região com um determinado diretor aposentado, use ListRetirableGrants. As respostas incluem detalhes sobre cada concessão.
nota
O campo GranteePrincipal
na resposta ListGrants
geralmente contém o principal favorecido da concessão. No entanto, quando o principal beneficiário da concessão é um AWS serviço, o GranteePrincipal
campo contém o principal do serviço, que pode representar vários diretores beneficiários diferentes.
Por exemplo, o comando a seguir lista todas as concessões de uma KMS chave.
$
aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{ "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1572216195.0, "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a", "Constraints": { "EncryptionContextSubset": { "Department": "IT" } }, "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole", "Name": "", "IssuingAccount": "arn:aws:iam::111122223333:root", "GranteePrincipal": "arn:aws:iam::111122223333:user/exampleUser", "Operations": [ "Decrypt" ] } ] }
Usar um token de concessão
A AWS KMS API seguir, um modelo de consistência eventual. Ao criar uma concessão, esta pode não entrar em vigor imediatamente. 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. Uma vez que a alteração tenha se propagado em todo o sistema, a entidade principal receptora da concessão poderá usar as permissões na concessão sem especificar o token de concessão ou qualquer evidência da concessão. No entanto, se uma concessão for tão nova que ainda não seja conhecida por todos AWS KMS, a solicitação poderá falhar com um AccessDeniedException
erro.
Para usar as permissões em uma nova concessão imediatamente, use o token de concessão para a concessão. Salve o token de concessão que a CreateGrantoperação retorna. Em seguida, envie o token de concessão na solicitação da AWS KMS operação. Você pode enviar um token de concessão para qualquer operação de AWS KMS concessão e pode enviar vários tokens de concessão na mesma solicitação.
O exemplo a seguir usa a CreateGrant
operação para criar uma concessão que permite as operações GenerateDataKeye Decrypt. Ele salva o token de concessão retornado por CreateGrant
na variável token
. Em seguida, em uma chamada para GenerateDataKey
, ele usa o token de concessão na variável token
.
# Create a grant; save the grant token
$
token=$(aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/appUser \ --retiring-principal arn:aws:iam::111122223333:user/acctAdmin \ --operations GenerateDataKey Decrypt \ --query GrantToken \ --output text)
# Use the grant token in a request$
aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ –-key-spec AES_256 \ --grant-tokens $token
As entidades principais com permissão também podem usar um token de concessão para retirar uma nova concessão mesmo antes que ela se torne disponível por meio do AWS KMS. (A operação RevokeGrant
não aceita um token de concessão.) Para obter detalhes, consulte Retirar e revogar concessões.
# Retire the grant
$
aws kms retire-grant --grant-token $token
Retirar e revogar concessões
Para excluir uma concessão, retire-a ou revogue-a.
As RevokeGrantoperações RetireGrante são muito semelhantes entre si. Ambas excluem uma concessão, o que elimina as permissões por ela permitidas. A principal diferença entre elas é como elas são autorizadas.
- RevokeGrant
-
Como a maioria das AWS KMS operações, o acesso à
RevokeGrant
operação é controlado por meio das principais políticas e IAMpolíticas. Eles RevokeGrantAPIpodem ser chamados por qualquer diretor comkms:RevokeGrant
permissão. Essa permissão está incluída nas permissões padrão fornecidas aos administradores de chaves. Normalmente, os administradores revogam uma concessão para negar permissões que são permitidas pela concessão. - RetireGrant
-
A concessão determina quem pode retirá-la. Esse design permite que você controle o ciclo de vida de uma concessão sem alterar as principais políticas ou IAM políticas. Normalmente, você retira uma concessão ao terminar de usar suas permissões.
Uma concessão pode ser retirada por uma entidade principal de retirada especificada nessa concessão. A entidade principal receptora da concessão também pode retirar a concessão, mas somente se ela também for uma entidade principal de retirada ou se a concessão incluir a operação
RetireGrant
. Como backup, aquele Conta da AWS em que o subsídio foi criado pode retirar o subsídio.Há uma
kms:RetireGrant
permissão que pode ser usada em IAM políticas, mas tem utilidade limitada. Entidades principais especificadas na concessão podem retirar uma concessão sem a permissãokms:RetireGrant
. A permissãokms:RetireGrant
por si só não permite que as entidades principais retirem uma concessão. A permissãokms:RetireGrant
não é eficaz em uma política de chaves.-
Para negar permissão para retirar uma concessão, você pode usar uma ação
Deny
com a permissãokms:RetireGrant
. -
O Conta da AWS proprietário da KMS chave pode delegar a
kms:RetireGrant
permissão ao IAM principal da conta. -
Se o diretor aposentado for diferente Conta da AWS, os administradores da outra conta podem usar
kms:RetireGrant
para delegar permissão para retirar a concessão a um IAM diretor dessa conta.
-
A AWS KMS API seguir, 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. Se você precisar excluir uma nova concessão imediatamente, antes que ela esteja disponível por toda parte AWS KMS, use um token de concessão para retirar a concessão. Não é possível usar um token de concessão para revogar uma concessão.