Subventions en AWS KMS - 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.

Subventions en AWS KMS

Une subvention est un instrument de politique qui permet aux AWS principaux d'utiliser des KMS clés dans le cadre d'opérations cryptographiques. Cela peut également leur permettre de consulter une KMS clé (DescribeKey) et de créer et de gérer des subventions. Lors de l'autorisation d'accès à une KMS clé, les subventions sont prises en compte au même titre que les politiques et IAMpolitiques clés. Les subventions sont souvent utilisées pour des autorisations temporaires, car vous pouvez en créer une, utiliser ses autorisations et la supprimer sans modifier vos politiques ou IAM politiques clés.

Les subventions sont couramment utilisées par AWS les services qui s'intègrent AWS KMS pour crypter vos données au repos. Le service crée un octroi au nom d'un utilisateur du compte, utilise ses autorisations et retire l'octroi dès que sa tâche est terminée. Pour plus de détails sur la manière dont les AWS services utilisent les subventions, consultez la rubrique Chiffrement au repos du guide de l'utilisateur ou du guide du développeur du service.

Les octrois sont un mécanisme de contrôle d'accès très souple et utile. Lorsque vous créez une subvention pour une KMS clé, la subvention permet au bénéficiaire principal d'appeler les opérations de subvention spécifiées sur la KMS clé, à condition que toutes les conditions spécifiées dans la subvention soient remplies.

  • Chaque subvention permet d'accéder à une seule KMS clé. Vous pouvez créer une subvention pour une KMS clé dans un autre Compte AWS.

  • Une autorisation peut autoriser l'accès à une KMS clé, mais pas le refuser.

  • Chaque octroi a un principal bénéficiaire. Le directeur du bénéficiaire peut représenter une ou plusieurs identités au même Compte AWS titre que la KMS clé ou dans un compte différent.

  • Un octroi peut uniquement permettre des opérations d'octroi. Les opérations de subvention doivent être soutenues par la KMS clé figurant dans la subvention. Si vous spécifiez une opération non prise en charge, la CreateGrantdemande échoue avec une ValidationError exception.

  • Le principal du bénéficiaire peut utiliser les autorisations que la subvention lui accorde sans spécifier la subvention, comme il le ferait si les autorisations provenaient d'une politique ou IAM d'une politique clé. Toutefois, dans la mesure où il AWS KMS API suit un modèle de cohérence éventuel, lorsque vous créez, retirez ou révoquez une subvention, il peut s'écouler un bref délai avant que la modification ne soit entièrement disponible. AWS KMS Pour utiliser immédiatement les autorisations dans un octroi, utilisez un jeton d'octroi.

  • Un principal autorisé peut supprimer l'octroi (le retirer ou le révoquer). La suppression d'un octroi élimine toutes les autorisations qu'il accorde. Vous n'avez pas besoin de déterminer les politiques à ajouter ou à supprimer pour annuler l'octroi.

  • AWS KMS limite le nombre de subventions pour chaque KMS clé. Pour plus de détails, consultez Subventions par KMS clé : 50 000.

Soyez prudent lorsque vous créez des octrois et lorsque vous autorisez d'autres personnes à en créer. L'autorisation de créer des subventions a des implications en matière de sécurité, tout comme l'PutKeyPolicyautorisation de définir des politiques en termes de kilomètres.

  • Les utilisateurs autorisés à créer des autorisations pour une KMS clé (kms:CreateGrant) peuvent utiliser une autorisation pour autoriser les utilisateurs et les rôles, y compris les AWS services, à utiliser la KMS clé. Les principes peuvent être des identités propres Compte AWS ou des identités appartenant à un autre compte ou à une autre organisation.

  • Les subventions ne peuvent autoriser qu'un sous-ensemble d' AWS KMS opérations. Vous pouvez utiliser des autorisations pour permettre aux principaux de consulter la KMS clé, de l'utiliser dans des opérations cryptographiques, ainsi que de créer et de retirer des autorisations. Pour plus d'informations, veuillez consulter .Opérations d'octroi. Vous pouvez également utiliser des contraintes d'octroi pour limiter les autorisations dans un octroi pour une clé de chiffrement symétrique.

  • Les directeurs peuvent obtenir l'autorisation de créer des subventions à partir d'une politique ou IAM d'une politique clé. Les directeurs qui obtiennent kms:CreateGrant l'autorisation d'une politique peuvent créer des subventions pour n'importe quelle opération de subvention sur KMS clé. Ces mandants ne sont pas tenus d'avoir l'autorisation qu'ils accordent sur la clé. Lorsque vous accordez l'autorisation kms:CreateGrant dans une politique, vous pouvez utiliser des conditions de politique pour limiter cette autorisation.

  • Les principaux peuvent également obtenir l'autorisation de créer des octrois à partir d'un octroi. Ces principaux peuvent uniquement déléguer les autorisations qui leur ont été accordées, même s'ils disposent d'autres autorisations en vertu d'une politique. Pour plus de détails, consultez Octroi CreateGrant d'autorisation.

Concepts d'octroi

Pour utiliser efficacement les octrois, vous devez comprendre les termes et les concepts utilisés par AWS KMS .

Contrainte d'octroi

Condition qui limite les autorisations dans l'octroi. Actuellement, AWS KMS prend en charge les contraintes d'octroi basées sur le contexte de chiffrement dans la demande d'opération cryptographique. Pour plus de détails, consultez Utilisation des contraintes d'octroi.

ID d'octroi

Identifiant unique d'une autorisation pour une KMS clé. Vous pouvez utiliser un identifiant de subvention, ainsi qu'un identifiant clé, pour identifier une autorisation dans une RevokeGrantdemande RetireGrantou.

Opérations d'octroi

Les AWS KMS opérations que vous pouvez autoriser dans le cadre d'une subvention. Si vous spécifiez d'autres opérations, la CreateGrantdemande échoue avec une ValidationError exception. Ce sont aussi les opérations qui acceptent un jeton d'octroi. Pour de plus amples informations sur ces autorisations, veuillez consulter la AWS KMS autorisations.

Ces opérations d'octroi représentent effectivement l'autorisation d'utiliser l'opération. Par conséquent, pour l'opération ReEncrypt, vous pouvez spécifier ReEncryptFrom, ReEncryptTo ou les deux ReEncrypt*.

Les opérations d'octroi sont les suivantes :

Les opérations de subvention que vous autorisez doivent être prises en charge par la KMS clé figurant dans la subvention. Si vous spécifiez une opération non prise en charge, la CreateGrantdemande échoue avec une ValidationError exception. Par exemple, les autorisations pour des KMS clés de chiffrement symétriques ne peuvent pas autoriser les VerifyMacopérations Sign, Verify GenerateMacou Verify. Les autorisations pour les KMS clés asymétriques ne peuvent autoriser aucune opération générant des clés de données ou des paires de clés de données.

Jeton d'octroi

Il AWS KMS API suit un modèle de cohérence éventuel. Lorsque vous créez 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 essayez d'utiliser un octroi avant d'être propagé complètement sur le système, vous pouvez obtenir un message d'accès refusé. Un jeton d'octroi vous permet de faire référence à l'octroi et d'utiliser les autorisations d'octroi immédiatement.

Un jeton d'octroi est une chaîne unique, non secrète, de longueur variable et codée en base64 qui représente un octroi. Vous pouvez utiliser le jeton d'octroi pour identifier l'octroi dans n'importe quelle opération d'octroi. Cependant, comme la valeur du jeton est un résumé de hachage, elle ne révèle aucun détail sur l'octroi.

Un jeton d'octroi est conçu pour être utilisé uniquement jusqu'à ce qu'il se propage complètement sur AWS KMS. Après cela, le principal bénéficiaire peut utiliser l'autorisation dans l'octroi sans fournir de jeton d'octroi ou toute autre preuve de l'octroi. Vous pouvez utiliser un jeton de subvention à tout moment, mais une fois que l'autorisation est finalement cohérente, c'est AWS KMS l'autorisation qui détermine les autorisations, et non le jeton de subvention.

Par exemple, la commande suivante appelle l'GenerateDataKeyopération. Il utilise un jeton de subvention pour représenter la subvention qui donne à l'appelant (le bénéficiaire principal) l'autorisation d'appeler GenerateDataKey sur la clé spécifiéeKMS.

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $token

Vous pouvez également utiliser le jeton d'octroi pour identifier un octroi dans les opérations qui gèrent les octrois. Par exemple, le directeur sortant peut utiliser un jeton de subvention lors d'un appel à l'RetireGrantopération.

$ aws kms retire-grant \ --grant-token $token

CreateGrant est la seule opération qui renvoie un jeton d'octroi. Vous ne pouvez pas obtenir de jeton d'autorisation à partir d'une autre AWS KMS opération ou du CloudTrail journal des événements associés à l' CreateGrant opération. Les ListRetirableGrantsopérations ListGrantset renvoient l'ID de subvention, mais pas un jeton de subvention.

Pour plus de détails, consultez Utilisation d'un jeton d'octroi.

Principal bénéficiaire

Identité qui obtient les autorisations spécifiées dans l'octroi. Chaque octroi n'a qu'un seul principal bénéficiaire, mais ce dernier peut représenter plusieurs identités.

Le principal du bénéficiaire peut être n'importe quel AWS principal, y compris un Compte AWS (root), un IAMutilisateur, un IAMrôle, un rôle fédéré ou un utilisateur ayant un rôle assumé. Le principal du bénéficiaire peut être sur le même compte que la KMS clé ou sur un compte différent. Cependant, le directeur du bénéficiaire ne peut pas être un directeur de service, un IAMgroupe ou une AWS organisation.

Note

IAMles meilleures pratiques découragent l'utilisation d'IAMutilisateurs possédant des informations d'identification à long terme. Dans la mesure du possible, utilisez IAM des rôles qui fournissent des informations d'identification temporaires. Pour plus de détails, consultez la section Bonnes pratiques en matière de sécurité IAM dans le guide de IAM l'utilisateur.

Retirer (un octroi)

Résilie un octroi. Vous retirez un octroi lorsque vous avez terminé d'utiliser les autorisations.

La révocation et le retrait d'un octroi suppriment l'octroi. Toutefois, le retrait est effectué par un principal spécifié dans l'octroi. La révocation est généralement effectuée par un administrateur de clé. Pour plus de détails, consultez Retrait et révocation d'octrois.

Principal de retrait

Un principal qui peut retirer un octroi. Vous pouvez spécifier un principal de retrait dans un octroi, mais ce n'est pas obligatoire. Le mandant sortant peut être n'importe quel AWS mandant, y compris IAM les utilisateurs Comptes AWS, les IAM rôles, les utilisateurs fédérés et les utilisateurs ayant un rôle assumé. Le principal sortant peut se trouver sur le même compte que la KMS clé ou sur un compte différent.

Note

IAMles meilleures pratiques découragent l'utilisation d'IAMutilisateurs possédant des informations d'identification à long terme. Dans la mesure du possible, utilisez IAM des rôles qui fournissent des informations d'identification temporaires. Pour plus de détails, consultez la section Bonnes pratiques en matière de sécurité IAM dans le guide de IAM l'utilisateur.

Outre le remboursement du capital spécifié dans la subvention, une subvention peut être retirée par le fournisseur Compte AWS dans lequel la subvention a été créée. Si l'octroi autorise l'opération RetireGrant, le principal bénéficiaire peut retirer l'octroi. En outre, le Compte AWS directeur sortant peut déléguer l'autorisation de retirer une subvention à un IAM directeur du même Compte AWSétablissement. Compte AWS Pour plus de détails, consultez Retrait et révocation d'octrois.

Révoquer (un octroi)

Résilie un octroi. Vous révoquez un octroi pour refuser activement les autorisations que l'octroi autorise.

La révocation et le retrait d'un octroi suppriment l'octroi. Toutefois, le retrait est effectué par un principal spécifié dans l'octroi. La révocation est généralement effectuée par un administrateur de clé. Pour plus de détails, consultez Retrait et révocation d'octrois.

Cohérence éventuelle (pour les octrois)

Il AWS KMS API suit un modèle de cohérence éventuel. 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.

Vous pouvez prendre connaissance de ce bref délai si vous obtenez des erreurs inattendues. Par exemple, si vous essayez de gérer une nouvelle subvention ou d'utiliser les autorisations d'une nouvelle autorisation avant que l'autorisation ne soit connue dans son intégralité AWS KMS, vous risquez de recevoir un message d'erreur de refus d'accès. Si vous retirez ou révoquez un octroi, le principal bénéficiaire peut toujours utiliser ses autorisations pendant une courte période jusqu'à ce que l'octroi soit complètement supprimé. La stratégie classique consiste à réessayer la demande, et certaines AWS SDKs incluent une logique d'annulation automatique et de nouvelle tentative.

AWS KMS possède des fonctionnalités pour atténuer ce bref délai.

  • Pour utiliser immédiatement les autorisations dans un nouvel octroi, utilisez un jeton d'octroi. Vous pouvez utiliser un jeton d'octroi pour faire référence à un octroi dans n'importe quelle opération d'octroi. Pour obtenir des instructions, consultez Utilisation d'un jeton d'octroi.

  • L'CreateGrantopération possède un Name paramètre qui empêche les nouvelles tentatives de créer des autorisations dupliquées.

Note

Les jetons d'octroi remplacent la validité de l'octroi jusqu'à ce que tous les points de terminaison du service aient été mis à jour avec le nouvel état de l'octroi. Dans la plupart des cas, une cohérence éventuelle sera obtenue dans les cinq minutes.

Pour plus d'informations, consultez la rubrique relative à la cohérence à terme AWS KMS.