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 permissões para criar e gerenciar concessões, o AWS KMS oferece suporte a várias condições de política que você pode usar em políticas de chave e políticas do IAM.
Tópicos
Controlar o acesso a concessões
Você pode controlar o acesso às operações que criam e gerenciam concessões em políticas de chaves, políticas do IAM e concessões. As entidades principais que recebem a permissão CreateGrant
de uma concessão tem permissões de concessão mais limitadas.
Operação de API | Política de chaves ou política do IAM | Concessão |
---|---|---|
CreateGrant | ✓ | ✓ |
ListGrants | ✓ | - |
ListRetirableGrants | ✓ | - |
Retirar concessões | (Limitado. Consulte Retirar e revogar concessões) | ✓ |
RevokeGrant | ✓ | - |
Ao usar uma política de chaves ou uma política do IAM para controlar o acesso a 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. O AWS KMS oferece suporte a todas as seguintes chaves de condição relacionadas a concessões. 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 as entidades principais chamem
CreateGrant
,ListGrants
ouRevokeGrant
somente quando um serviço da AWS integrado ao AWS KMSenvia a solicitação em nome da entidade principal. - 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 chave do KMS à qual as concessões 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 a entidade principal receptora na concessão é um serviço da AWS, o campo GranteePrincipal
contém a entidade principal de serviço, que pode representar várias entidades principais entidade receptoras de concessão diferentes.
Por exemplo, o comando a seguir lista todas as concessões para uma chave do KMS.
$
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 API do AWS KMS segue o 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 a ponto de ainda não ser conhecida pelo AWS KMS, a solicitação poderá falhar com um erro de AccessDeniedException
.
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 para a operação AWS KMS. Você pode enviar um token de concessão para qualquer operação de concessão do AWS KMS 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 operações do AWS KMS, o acesso à operação
RevokeGrant
é controlado por meio de políticas de chaves e políticas do IAM. A RevokeGrantAPI pode ser chamada 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 políticas de chaves ou políticas do IAM. 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, a Conta da AWS em que a concessão foi criada pode retirar essa concessão.Existe uma permissão
kms:RetireGrant
que pode ser usada em políticas do IAM, mas sua 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
. -
A Conta da AWS que tem a chave do KMS pode delegar a permissão
kms:RetireGrant
à entidade principal do IAM na conta. -
Se a entidade principal que está sendo desativada for uma Conta da AWS diferente, os administradores na outra conta poderão usar
kms:RetireGrant
para delegar permissões para retirar a concessão a uma entidade principal do IAM nessa conta.
-
A API do AWS KMS segue o 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 precisar excluir uma nova concessão imediatamente antes que ela esteja disponível no 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.