Gestion des octrois - AWS Key Management Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des octrois

Les entités ayant les autorisations requises peuvent afficher, utiliser et supprimer (retirer ou révoquer) des octrois. Pour affiner les autorisations de création et de gestion des octrois, AWS KMS prend en charge plusieurs conditions de politique que vous pouvez utiliser dans les politiques de clé et les politiques IAM.

Contrôle de l'accès aux octrois

Vous pouvez contrôler l'accès aux opérations qui créent et gèrent des octrois dans les politiques de clés, les politiques IAM et les octrois. Les principaux qui obtiennent l'autorisation CreateGrant d'un octroi ont des autorisations d'octroi plus limitées.

Opération API politique de clé ou politique IAM Grant (Octroi)
CreateGrant
ListGrants -
ListRetirableGrants -
Retirer des octrois (Limité. Voir Retrait et révocation d'octrois)
RevokeGrant -

Lorsque vous utilisez une politique de clé ou IAM pour contrôler l'accès aux opérations qui créent et gèrent des octrois, vous pouvez utiliser une ou plusieurs des conditions de politique suivantes pour limiter l'autorisation. AWS KMS prend en charge toutes les clés de condition suivantes associées à l'octroi. Pour plus d'informations et d'exemples, veuillez consulter AWS KMS clés de condition.

km : GrantConstraintType

Permet aux principaux de créer un octroi uniquement lorsque l'octroi inclut la contrainte d'octroispécifiée.

km : GrantIsFor AWSResource

Permet aux principaux d'appeler CreateGrant, ListGrants, ou RevokeGrant seulement lorsque , un service AWS qui est intégré à AWS KMS, envoie la demande au nom du principal.

km : GrantOperations

Autorise les principaux à créer un octroi, mais limite l'octroi aux opérations spécifiées.

km : GranteePrincipal

Autorise les principaux à créer un octroi uniquement pour le principal bénéficiaire spécifié.

km : RetiringPrincipal

Permet aux principaux de créer un octroi uniquement lorsque l'octroi spécifie un principal de retrait.

Affichage d'octrois

Pour consulter la subvention, utilisez l'ListGrantsopération. Vous devez spécifier la clé KMS à laquelle les octrois s'appliquent. Vous pouvez également filtrer la liste des octrois par ID d'octroi ou principal bénéficiaire. Pour obtenir plus d'exemples, consultez Affichage d'un octroi.

Pour consulter toutes les subventions accordées dans la région Compte AWS et dont le capital est retraité en particulier, utilisez ListRetirableGrants. Les réponses comprennent des détails sur chaque octroi.

Note

Le champ GranteePrincipal de la réponse ListGrants contient habituellement le bénéficiaire principal. Toutefois, lorsque le principal bénéficiaire de l'octroi est un service AWS, le champ GranteePrincipal contient le principal de service, qui peut représenter plusieurs principaux bénéficiaires.

Par exemple, la commande suivante répertorie tous les octrois d'une clé 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" ] } ] }

Utilisation d'un jeton d'octroi

L’API AWS KMS suit un modèle de cohérence à terme. Lorsque vous créez un octroi, il se peut qu'il ne soit pas effectif immédiatement. Il se peut qu'il y ait un bref délai avant que le changement ne soit disponible via AWS KMS. La propagation de la modification dans l'ensemble du système prend généralement moins de quelques secondes, mais dans certains cas, cela peut prendre plusieurs minutes. Une fois que la modification a été entièrement appliquée à l’ensemble du système, le principal bénéficiaire peut utiliser les autorisations dans l'octroi sans spécifier le jeton d'octroi ou une preuve de l'octroi. Cependant, si un octroi est nouveau et qu'il n'est pas encore connu de tout le AWS KMS, la demande peut échouer avec une erreur AccessDeniedException.

Pour utiliser immédiatement les autorisations dans un nouvel octroi, utilisez le jeton d'octroi pour l'octroi. Enregistrez le jeton de subvention renvoyé par l'CreateGrantopération. Ensuite, envoyez le jeton d'octroi dans la demande pour l'opération AWS KMS. Vous pouvez envoyer un jeton d'octroi à AWS KMS n'importe quelle opération d'octroi et envoyer plusieurs jetons d'octroi dans la même demande.

L'exemple suivant utilise l'CreateGrantopération pour créer une autorisation autorisant les opérations GenerateDataKeyet Decrypt. Elle enregistre le jeton d'octroi que CreateGrant renvoie dans la variable token. Ensuite, dans un appel à l'opération GenerateDataKey, elle utilise le jeton d'octroi dans la variable 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

Les principaux autorisés peuvent également utiliser un jeton d'octroi pour retirer un nouvel octroi avant même que l’octroi ne soit disponible sur l’ensemble de AWS KMS. (L'opération RevokeGrant n'accepte pas de jeton d'octroi.) Pour plus de détails, consultez Retrait et révocation d'octrois.

# Retire the grant $ aws kms retire-grant --grant-token $token

Retrait et révocation d'octrois

Pour supprimer un octroi, la retirer ou la révoquer.

Les RevokeGrantopérations RetireGrantet sont très similaires les unes aux autres. Les deux opérations suppriment un octroi, ce qui élimine les autorisations qu'il accorde. La principale différence entre ces opérations est la façon dont elles sont autorisées.

RevokeGrant

Comme la plupart des opérations AWS KMS, l'accès à l'opération RevokeGrant est contrôlé par des politiques de clé et des politiques IAM. L'RevokeGrantAPI peut être appelée par n'importe quel principal kms:RevokeGrant autorisé. Cette autorisation est incluse dans les autorisations standard accordées aux administrateurs de clé. En règle générale, les administrateurs révoquent un octroi pour refuser les autorisations qu'il accorde.

RetireGrant

L'octroi détermine qui peut la retirer. Cette conception vous permet de contrôler le cycle de vie d'un octroi sans modifier les politiques clé ou les politiques IAM. Généralement, vous retirez un octroi lorsque vous avez terminé d'utiliser ses autorisations.

Un octroi peut être retiré par un principal de retrait spécifié dans l'octroi. Le principal bénéficiaire peut également retirer l'octroi, mais seulement s'il est également un principal de retrait ou si l'octroi comprend l'opération RetireGrant. En tant que sauvegarde, le Compte AWS dans lequel l'octroi a été créé peut retirer l'octroi.

Il existe une autorisation kms:RetireGrant qui peut être utilisée dans les politiques IAM, mais dont l'utilité est limitée. Les principaux spécifiés dans l'octroi peuvent retirer un octroi sans l'autorisation kms:RetireGrant. L'autorisation kms:RetireGrant à elle seule ne permet pas aux principaux de retirer un octroi. L'autorisation kms:RetireGrant n'est pas efficace dans une politique de clé.

  • Pour refuser l'autorisation de retirer un octroi, vous pouvez utiliser une action Deny à l'aide de l'autorisation kms:RetireGrant.

  • Le Compte AWS propriétaire de la clé KMS peut déléguer l'autorisation kms:RetireGrant à un principal IAM du compte.

  • Si le principal de retrait est un autre Compte AWS, les administrateurs de l'autre compte peuvent utiliser kms:RetireGrant pour déléguer l'autorisation de retirer l'octroi à un principal IAM de ce compte.

L’API AWS KMS suit un modèle de cohérence à terme. Lorsque vous créez, retirez ou révoquez un octroi, il se peut qu'il y ait un bref délai avant que le changement ne soit disponible via AWS KMS. La propagation de la modification dans l'ensemble du système prend généralement moins de quelques secondes, mais dans certains cas, cela peut prendre plusieurs minutes. Si vous devez supprimer un nouvel octroi immédiatement, avant qu'il ne soit disponible dans AWS KMS, utilisez un jeton d'octroi afin de retirer l'octroi. Vous ne pouvez pas utiliser un jeton d'octroi pour révoquer un octroi.