Gerencias concessões - 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á.

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.

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 ou RevokeGrant somente quando um serviço da AWS integrado ao AWS KMS envia 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 com kms: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ão kms:RetireGrant. A permissão kms:RetireGrant por si só não permite que as entidades principais retirem uma concessão. A permissão kms: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ão kms: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.