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 politique qui permet AWS principes d'utilisation des KMS clés dans les 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 des services qui s'intègrent à AWS KMS pour chiffrer 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 AWS services, autorisations d'utilisation, voir Comment les services AWS utilisent AWS KMS la rubrique Chiffrement au repos dans le guide de l'utilisateur ou le guide du développeur du service.
Rubriques
À propos des octrois
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 dans le même document. Compte AWS comme KMS clé ou dans un autre compte.
-
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é. Cependant, étant donné que AWS KMS APIsuit 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 disponible dans son intégralité AWS KMS. Pour utiliser immédiatement les autorisations d'une subvention, utilisez un jeton de subvention.
-
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é, un peu 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 des utilisateurs et des rôles, notamment AWS services, pour utiliser la KMS clé. Les principes peuvent être vos propres identités Compte AWS ou des identités dans un autre compte ou une autre organisation. -
Les subventions ne peuvent autoriser qu'un sous-ensemble de 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'autorisationkms: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.
Pour obtenir de l'aide sur les concepts liés aux octrois, veuillez consulter la Terminologie relative à l'octroi.
Concepts d'octroi
Pour utiliser les subventions de manière efficace, vous devez comprendre les termes et les concepts qui AWS KMS utilise.
- Contrainte d'octroi
-
Condition qui limite les autorisations dans l'octroi. À l'heure actuelle, 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
-
Le 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écifierReEncryptFrom
,ReEncryptTo
ou les deuxReEncrypt*
.Les opérations d'octroi sont les suivantes :
-
Opérations cryptographiques
-
Autres opérations
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 lesVerifyMac
opérations Sign, VerifyGenerateMac
ou 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
-
Le AWS KMS APIsuit un modèle de cohérence éventuel. Lorsque vous créez une subvention, il se peut qu'il y ait un bref délai avant que la modification ne soit disponible dans son intégralité 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 de subvention est conçu pour être utilisé uniquement jusqu'à ce que la subvention se soit complètement propagée. AWS KMS. Après cela, le directeur du bénéficiaire peut utiliser l'autorisation contenue dans la subvention sans fournir de jeton de subvention ou toute autre preuve de la subvention. Vous pouvez utiliser un jeton de subvention à tout moment, mais une fois que la subvention sera finalement cohérente, AWS KMS utilise l'autorisation pour déterminer 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 de subvention auprès d'un autre AWS KMS opération ou à partir du CloudTrail journal des événements de 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 lequel AWS principal, y compris un Compte AWS (root), un IAMutilisateur, un IAMrôle, un rôle fédéré ou un utilisateur, 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 un 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 principal partant à la retraite peut être n'importe lequel AWS principal, y compris Comptes AWS, IAM utilisateurs, IAM rôles, utilisateurs fédérés et utilisateurs de rôles assumés. 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 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 ou un Compte AWS c'est-à-dire que le directeur sortant peut déléguer l'autorisation de retirer une subvention à un IAM directeur de la même Compte AWS. Pour plus de détails, voirRetrait 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)
-
Le AWS KMS APIsuit 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 disponible dans son intégralité 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 subvention avant qu'elle ne soit connue dans son intégralité AWS KMS, un message d'erreur de refus d'accès peut s'afficher. 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 certaines AWS SDKsinclure une logique d'arrêt 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 .AWS KMS cohérence éventuelle.
-
Les meilleures pratiques pour AWS KMS bourses
AWS KMS recommande les meilleures pratiques suivantes lors de la création, de l'utilisation et de la gestion des subventions.
-
Limitez les autorisations de l'octroi aux autorisations requises par le principal bénéficiaire. Utilisez le principe d'accès le moins privilégié.
-
Utilisez un principal de bénéficiaire spécifique, tel qu'un IAM rôle, et autorisez le bénéficiaire principal à n'utiliser que les API opérations dont il a besoin.
-
Utilisez les contraintes d'octroi du contexte de chiffrement pour vous assurer que les appelants utilisent la KMS clé aux fins prévues. Pour en savoir plus sur l'utilisation du contexte de chiffrement dans une demande de sécurisation de vos données, consultez Comment protéger l'intégrité de vos données chiffrées en utilisant AWS Key Management Service et EncryptionContext
dans le AWS Blog sur la sécurité. Astuce
Utilisez la contrainte de EncryptionContextEqualsubvention dans la mesure du possible. La contrainte de EncryptionContextSubsetsubvention est plus difficile à utiliser correctement. Si vous devez l'utiliser, lisez attentivement la documentation et testez la contrainte d'octroi pour vous assurer qu'elle fonctionne comme prévu.
-
Supprimer les octrois en double. Les subventions dupliquées ont la même cléARN, API les mêmes actions, le même principal de bénéficiaire, le même contexte de chiffrement et le même nom. Si vous retirez ou révoquez l'octroi initial, mais que vous laissez les doublons, les doublons restants constituent une escalade involontaire de privilèges. Pour éviter de dupliquer les octrois lors de la relance d'une demande
CreateGrant
, utilisez le paramètre Name. Pour détecter les autorisations dupliquées, utilisez l'ListGrantsopération. Si vous créez accidentellement un octroi en double, retirez-le ou révoquez-le dès que possible.Note
Subventions pour AWS les clés gérées peuvent ressembler à des doublons mais avoir des principes différents pour les bénéficiaires.
Le champ
GranteePrincipal
de la réponseListGrants
contient habituellement le bénéficiaire principal. Toutefois, lorsque le titulaire principal de la subvention est un AWS service, leGranteePrincipal
champ contient le principal du service, qui peut représenter plusieurs principaux bénéficiaires différents. -
N'oubliez pas que les octrois n'expirent pas automatiquement. Retirez ou révoquez l'octroi dès que l'autorisation n'est plus nécessaire. Les octrois qui ne sont pas supprimés peuvent créer un risque de sécurité pour les ressources chiffrées.