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 AWS aux mandants ou aux responsables de AWS service d'utiliser des clés KMS dans le cadre d'opérations cryptographiques. Il peut également leur permettre d'afficher une clé KMS (DescribeKey), mais aussi de créer et de gérer des octrois. Lorsque vous autorisez l'accès à une clé KMS, les octrois sont pris en compte avec des politiques de clé et des politiques IAM. Les octrois sont souvent utilisés pour des autorisations temporaires, car vous pouvez en créer un, utiliser ses autorisations et les supprimer sans modifier vos politiques de clé ou IAM.
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 façon dont les AWS services utilisent les autorisations, consultez la rubrique Chiffrement au repos dans le guide de l'utilisateur ou le 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 un octroi pour une clé KMS, celui-ci permet au principal bénéficiaire d'appeler les opérations d'octroi spécifiées sur la clé KMS, à condition que toutes les conditions spécifiées dans l'octroi soient remplies.
-
Chaque octroi permet d'accéder à exactement une clé KMS. Vous pouvez créer un octroi pour une clé KMS dans un autre Compte AWS.
-
Un octroi peut autoriser l'accès à une clé KMS, mais pas le lui refuser.
-
Chaque subvention a un bénéficiaire, qui peut être soit un responsable du bénéficiaire (une identité AWS IAM) soit un responsable de service du bénéficiaire (un AWS principal de service). Vous devez spécifier
GranteePrincipalouGranteeServicePrincipal, mais pas les deux. -
Un octroi peut uniquement permettre des opérations d'octroi. Les opérations d'octroi doivent être prises en charge par la clé KMS de l'octroi. Si vous spécifiez une opération non prise en charge, la CreateGrant demande échoue avec une
ValidationErrorexception. -
Le principal bénéficiaire peut utiliser les autorisations que l'octroi lui donne sans spécifier l'octroi, comme il le ferait si les autorisations provenaient d'une politique de clé ou d'une politique IAM. Cependant, étant donné que l' AWS KMS API suit un modèle de cohérence éventuel, lorsque vous créez, retirez ou révoquez une subvention, il peut y avoir un bref délai avant que la modification ne soit totalement 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 d'autorisations pour chaque clé KMS. Pour plus de détails, consultez la section Octrois par clé KMS : 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 kms : de définir des politiques.
-
Les utilisateurs autorisés à créer des autorisations pour une clé KMS (
kms:CreateGrant) peuvent utiliser une autorisation pour autoriser les utilisateurs et les rôles, y compris les AWS services, à utiliser la clé KMS. Les principaux peuvent être des identités propres à vous Compte AWS ou des identités associées à 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 octrois pour autoriser les principaux à afficher la clé KMS, à l'utiliser dans les opérations de chiffrement, mais aussi à créer et à retirer des octrois. 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.
-
Les principaux peuvent obtenir l'autorisation de créer des octrois à partir d'une politique de clé ou d'une politique IAM. Les directeurs qui obtiennent
kms:CreateGrantl'autorisation d'une politique peut créer des subventions pour tout opération d'octroi sur la clé KMS. Ces mandants ne sont pas tenus d'avoir l'autorisation qu'ils accordent sur la clé. Lorsque vous accordez l'autorisationkms:CreateGrantdans 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 directeurs ne peuvent déléguer que les autorisations qui leur ont été accordées, même s'ils disposent d'autres autorisations en vertu d'une politique. Pour en savoir plus, consultez Accorder CreateGrant une 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 d'une subvention. AWS KMS prend en charge deux types de contraintes liées aux subventions :
-
Contrainte de contexte de chiffrement : restreint les autorisations en fonction du contexte de chiffrement inclus dans la demande d'opération cryptographique. Cette contrainte ne fonctionne qu'avec les clés KMS de chiffrement symétrique.
-
SourceArn contrainte — Limite les autorisations d'octroi aux demandes effectuées pour le compte d'une AWS ressource spécifique. Cela revient à intégrer une condition clé aws:SourceArn globale à la subvention. Cette contrainte fonctionne avec tous les types de clés KMS.
Pour en savoir plus, consultez Utilisation des contraintes d'octroi.
-
- ID d'octroi
-
Identifiant unique d'un octroi pour une clé KMS. Vous pouvez utiliser un identifiant de subvention, ainsi qu'un identifiant clé, pour identifier une subvention dans une RevokeGrant demande RetireGrant ou.
- 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 CreateGrant demande échoue à une
ValidationErrorexception près. 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 des 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écifierReEncryptFrom,ReEncryptToou les deuxReEncrypt*.Les opérations d'octroi sont les suivantes :
-
Opérations cryptographiques
-
Autres opérations
Les opérations d'octroi que vous autorisez doivent être prises en charge par la clé KMS de l'octroi. Si vous spécifiez une opération non prise en charge, la CreateGrant demande échoue avec une
ValidationErrorexception. Par exemple, les octrois pour les clés KMS de chiffrement symétrique ne peuvent pas autoriser les opérations Sign (Signer), Verify (Vérifier),GenerateMacouVerifyMac. Les octrois pour les clés KMS 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
-
L' AWS KMS API suit un éventuel modèle de cohérence. 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 d'autorisation à tout moment, mais une fois que l'autorisation est finalement cohérente, utilisez AWS KMS l'autorisation pour déterminer les autorisations, et non le jeton d'autorisation.
Par exemple, la commande suivante appelle l'GenerateDataKeyopération. Elle utilise un jeton d'octroi pour représenter l'octroi qui donne à l'appelant (le principal bénéficiaire) l'autorisation d'appeler
GenerateDataKeysur la clé KMS spécifiée.$aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $tokenVous pouvez également utiliser le jeton d'octroi pour identifier un octroi dans les opérations qui gèrent les octrois. Par exemple, le principal sortant peut utiliser un jeton d'octroi lors d'un appel à l'RetireGrantopération.
$aws kms retire-grant \ --grant-token $tokenCreateGrantest la seule opération qui renvoie un jeton d'octroi. Vous ne pouvez pas obtenir de jeton d'autorisation à partir d'aucune autre AWS KMS opération ou de l'événement de CloudTrail journal correspondant à l' CreateGrant opération. Les ListRetirableGrants opérations ListGrants et renvoient l'ID d'autorisation, mais pas un jeton d'autorisation.Pour en savoir plus, consultez Utilisation d'un jeton d'octroi.
- Principal bénéficiaire
-
Un AWS principal (identité IAM) qui obtient les autorisations spécifiées dans la subvention.
Le principal bénéficiaire peut être n'importe quel AWS principal, y compris un Compte AWS (root), un utilisateur IAM, un rôle IAM, un rôle ou un utilisateur fédéré, ou un utilisateur ayant un rôle assumé. Le principal bénéficiaire peut se trouver dans le même compte que la clé KMS ou un autre compte. Toutefois, le principal bénéficiaire ne peut pas être un principal de service, un groupe IAM ou une organisation AWS.
Pour spécifier le principal bénéficiaire, utilisez le
GranteePrincipalparamètre de la CreateGrant demande.Note
Les bonnes pratiques IAM déconseillent d'avoir recours à des utilisateurs IAM dotés d'informations d'identification à long terme. Dans la mesure du possible, utilisez des rôles IAM, qui fournissent des informations d'identification temporaires. Pour plus d'informations, consultez Security best practices in IAM (Bonnes pratiques de sécurité dans IAM) dans le Guide de l'utilisateur IAM.
- Directeur de service du bénéficiaire
-
Un principal AWS de service qui obtient les autorisations spécifiées dans la subvention. Pour spécifier le principal de service du bénéficiaire, utilisez le
GranteeServicePrincipalparamètre de la CreateGrant demande.Lorsque vous créez une subvention avec un
GranteeServicePrincipal, vous devez également inclure un SourceArn grant constraint. LaSourceArncontrainte garantit que le principal de service ne peut utiliser la clé KMS que lorsque la demande est faite pour le compte de la AWS ressource spécifiée.Lorsque vous spécifiez a
GranteeServicePrincipal, vous devez également spécifier a RetiringPrincipal ou RetiringServicePrincipal a.
Note
Vous devez spécifier GranteePrincipal ou GranteeServicePrincipal, mais pas les deux.
- 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 en savoir plus, 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 principal sortant peut être n'importe quel AWS responsable, y compris des utilisateurs IAM Comptes AWS, des rôles IAM, des utilisateurs fédérés et des utilisateurs ayant un rôle assumé. Le principal de retrait peut se trouver dans le même compte que la clé KMS ou un autre compte.
Pour spécifier le principal sortant, utilisez le
RetiringPrincipalparamètre de la CreateGrant demande.Note
Les bonnes pratiques IAM déconseillent d'avoir recours à des utilisateurs IAM dotés d'informations d'identification à long terme. Dans la mesure du possible, utilisez des rôles IAM, qui fournissent des informations d'identification temporaires. Pour plus d'informations, consultez Security best practices in IAM (Bonnes pratiques de sécurité dans IAM) dans le Guide de l'utilisateur IAM.
- Directeur de service partant à la retraite
-
Un directeur de AWS service autorisé à retirer une subvention. Pour spécifier le principal de service sortant, utilisez le
RetiringServicePrincipalparamètre de la CreateGrant demande.
Note
Vous pouvez préciser RetiringPrincipal ou RetiringServicePrincipal, mais pas les deux.
Pour plus d'informations sur les personnes qui peuvent retirer une subvention, consultezRetrait 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 en savoir plus, consultez Retrait et révocation d'octrois.
- Cohérence éventuelle (pour les octrois)
-
L' AWS KMS API suit un éventuel
modèle de cohérence. 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 autorisation ou d'utiliser les autorisations d'une nouvelle autorisation avant que celle-ci ne soit totalement connue AWS KMS, vous risquez de recevoir une erreur d'accès refusé. 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 typique consiste à réessayer la demande, et certains AWS SDK incluent une logique d'annulation automatique et de nouvelle tentative.
AWS KMS possède des fonctionnalités permettant d'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, veuillez consulter Utilisation d'un jeton d'octroi.
-
L'CreateGrantopération comporte un
Nameparamè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.
-