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.
Autoriser des utilisateurs d'autres comptes à utiliser une clé KMS
Vous pouvez autoriser les utilisateurs ou les rôles d'un autre Compte AWS pays à utiliser une clé KMS dans votre compte. L'accès inter-comptes nécessite une autorisation dans la politique de clé de la clé KMS et dans une politique IAM dans le compte de l'utilisateur externe.
L'autorisation inter-comptes n'est effective que pour les opérations suivantes :
Si vous accordez à un utilisateur d'un autre compte des autorisations pour d'autres opérations, ces autorisations n'ont aucun effet. Par exemple, si vous accordez au principal d'un autre compte une ListKeys autorisation kms : dans une politique IAM, ou kms : une ScheduleKeyDeletion autorisation sur une clé KMS dans une politique clé, les tentatives de l'utilisateur pour appeler ces opérations sur vos ressources échouent toujours.
Pour plus de détails sur l'utilisation des clés KMS dans différents comptes pour les AWS KMS opérations, consultez la colonne Utilisation entre comptes dans le AWS KMS autorisations etUtilisation de clés KMS dans d'autres comptes. Il existe aussi une section Cross-account use (Utilisation inter-comptes) dans chaque description d'API de la référence d'API AWS Key Management Service.
Avertissement
Soyez prudent lorsque vous autorisez les principaux à utiliser vos clés KMS. Dans la mesure du possible, suivez le principe du moindre privilège. Donnez uniquement aux utilisateurs l'accès aux clés KMS dont ils ont besoin pour les opérations dont ils ont besoin.
Par ailleurs, soyez prudent en ce qui concerne l'utilisation d'une clé KMS inconnue, en particulier d'une clé KMS dans un compte différent. Les utilisateurs malveillants peuvent vous autoriser à utiliser leur clé KMS pour obtenir des informations sur vous ou votre compte.
Pour plus d'informations sur l'utilisation des politiques pour protéger les ressources de votre compte, veuillez consulter Bonnes pratiques pour les politiques IAM.
Pour accorder l'autorisation d'utiliser une clé KMS aux utilisateurs et aux rôles d'un autre compte, vous devez utiliser deux types de politiques différents :
-
La politique de clé pour la clé KMS doit accorder au compte externe (ou aux utilisateurs et rôles du compte externe) l'autorisation d'utiliser la clé KMS. La politique de clé se trouve dans le compte qui possède la clé KMS.
-
Les politiques IAM du compte externe doivent déléguer les autorisations de politique de clé à leurs utilisateurs et rôles. Ces politiques sont définies dans le compte externe et accordent des autorisations aux utilisateurs et rôles de ce compte.
La politique de clé détermine qui peut avoir accès à la clé KMS. La politique IAM détermine qui a accès à la clé KMS. Ni la politique de clé ni la politique IAM à elles seules ne suffisent. Vous devez modifier les deux.
Pour modifier la politique clé, vous pouvez utiliser la vue des politiques dans les opérations AWS Management Console ou utiliser les PutKeyPolicyopérations CreateKeyou.
Pour obtenir de l'aide concernant la modification des politiques IAM, veuillez consulter Utilisation des politiques IAM avec AWS KMS.
Pour obtenir un exemple qui montre comment la politique de clé et les politiques IAM fonctionnent ensemble pour autoriser l'utilisation d'une clé KMS dans un autre compte, veuillez consulter Exemple 2 : L'utilisateur assume un rôle autorisé à utiliser une clé KMS dans un autre Compte AWS.
Vous pouvez consulter les AWS KMS opérations entre comptes qui en résultent sur la clé KMS dans vos AWS CloudTrail journaux. Les opérations qui utilisent des clés KMS dans d'autres comptes sont journalisées à la fois dans le compte de l'appelant et dans le compte propriétaire de la clé KMS.
Rubriques
Note
Les exemples de cette rubrique montrent comment utiliser ensemble une politique de clé et une politique IAM pour fournir et limiter l'accès à une clé KMS. Ces exemples génériques ne sont pas destinés à représenter les autorisations requises par une clé KMS en particulier Service AWS . Pour plus d'informations sur les autorisations requises par AN Service AWS , consultez la rubrique relative au chiffrement dans la documentation du service.
Étape 1 : ajouter une déclaration de politique de clé dans le compte local
La politique de clé pour une clé KMS constitue l'élément principal qui détermine qui peut accéder à la clé KMS et quelles sont les opérations pouvant être effectuées. La politique de clé est toujours définie dans le compte propriétaire de la clé KMS. Contrairement aux politiques IAM, les politiques de clé ne spécifient pas de ressource. La ressource est la clé KMS associée à la politique de clé. Lors de l'octroi d'une autorisation entre comptes, la politique de clé relative à la clé KMS doit accorder au compte externe (ou aux utilisateurs et rôles du compte externe) l'autorisation d'utiliser la clé KMS.
Pour accorder à un compte externe l'autorisation d'utiliser la clé KMS, ajoutez une instruction à la politique de clé qui spécifie le compte externe. Dans l'élément Principal
de la politique de clé, entrez l'Amazon Resource Name (ARN) du compte externe.
Lorsque vous spécifiez un compte externe dans une politique de clé, les administrateurs IAM du compte externe peuvent utiliser des politiques IAM pour déléguer ces autorisations à tous les utilisateurs et rôles du compte externe. Ils peuvent également décider quelles sont les actions spécifiées dans la politique de clé que les utilisateurs et les rôles peuvent effectuer.
Les autorisations accordées au compte externe et à ses principaux ne sont efficaces que si le compte externe est activé dans la région qui héberge la clé KMS et sa politique de clé. Pour plus d'informations sur les régions qui ne sont pas activées par défaut (« Régions d'adhésion »), veuillez consulter Gestion de Régions AWS dans la Références générales AWS.
Par exemple, supposons que vous vouliez autoriser le compte 444455556666
à utiliser une clé KMS de chiffrement symétrique dans le compte 111122223333
. Pour ce faire, ajoutez une instruction de politique comme celle de l'exemple suivant à la politique de clé pour la clé KMS dans le compte 111122223333
. Cette instruction de politique accorde au compte externe, 444455556666
, l'autorisation d'utiliser la clé KMS dans les opérations de chiffrement pour les clés KMS de chiffrement symétriques.
Note
L'exemple suivant illustre une politique de clé qui permet de partager une clé KMS avec un autre compte. Remplacez les valeurs Sid
, Principal
et Action
de l'exemple par des valeurs valides pour l'utilisation prévue de votre clé KMS.
{ "Sid": "
Allow an external account to use this KMS key
", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:root
" ] }, "Action": ["kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey"
], "Resource": "*" }
Au lieu d'accorder l'autorisation au compte externe, vous pouvez spécifier des utilisateurs et des rôles externes spécifiques dans la politique de clé. Toutefois, ces utilisateurs et rôles ne peuvent pas utiliser la clé KMS tant que les administrateurs IAM du compte externe n'ont pas attaché les politiques IAM appropriées à leurs identités. Les politiques IAM peuvent accorder une autorisation à tous les utilisateurs et rôles externes, ou à une partie d'entre eux seulement, qui sont spécifiés dans la politique de clé. Elles peuvent également autoriser tout ou partie des actions spécifiées dans la politique de clé.
La spécification d'identités dans une politique de clé restreint les autorisations que les administrateurs IAM du compte externe peuvent fournir. Toutefois, cela rend la gestion des politiques avec deux comptes plus complexe. Par exemple, supposons que vous ayez besoin d'ajouter un utilisateur ou un rôle. Vous devez ajouter cette identité à la politique de clé dans le compte propriétaire de la clé KMS et créer des politiques IAM dans le compte de l'identité.
Pour spécifier des utilisateurs ou des rôles externes spécifiques dans une politique de clé, dans l'élément Principal
, entrez l'Amazon Resource Name (ARN) d'un utilisateur ou d'un rôle dans le compte externe.
Ainsi, l'exemple d'instruction de politique de clé suivant autorise le rôle ExampleRole
du compte 444455556666
à utiliser une clé KMS du compte 111122223333
. Cette instruction de politique de clé accorde au compte externe, 444455556666
, l'autorisation d'utiliser la clé KMS dans les opérations de chiffrement pour les clés KMS de chiffrement symétriques.
Note
L'exemple suivant illustre une politique de clé qui permet de partager une clé KMS avec un autre compte. Remplacez les valeurs Sid
, Principal
et Action
de l'exemple par des valeurs valides pour l'utilisation prévue de votre clé KMS.
{ "Sid": "
Allow an external account to use this KMS key
", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::444455556666:role/ExampleRole"
}, "Action": ["kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey"
], "Resource": "*" }
Note
Ne définissez pas le principal sur un astérisque (*) dans une instruction de politique de clé qui autorise des autorisations, sauf si vous utilisez des conditions pour limiter la stratégie de clé. Un astérisque indique chaque identité associée à chaque Compte AWS autorisation d'utilisation de la clé KMS, sauf si une autre déclaration de politique le nie explicitement. Les utilisateurs des autres utilisateurs Comptes AWS peuvent utiliser votre clé KMS chaque fois qu'ils disposent des autorisations correspondantes sur leur propre compte.
Vous devez également décider quelles autorisations vous souhaitez accorder au compte externe. Par exemple, vous pouvez accorder aux utilisateurs l'autorisation de déchiffrer, mais pas de chiffrer, ou l'autorisation d'afficher la clé KMS sans l'utiliser. Pour obtenir la liste des autorisations sur les clés KMS, veuillez consulter AWS KMS autorisations.
- Définition de la politique des clés lors de la création d'une clé KMS
-
Lorsque vous utilisez l'CreateKeyopération pour créer une clé KMS, vous pouvez utiliser son
Policy
paramètre pour spécifier une politique de clé qui autorise un compte externe, ou des utilisateurs et des rôles externes, à utiliser la clé KMS.Lorsque vous créez une clé KMS dans le AWS Management Console, vous créez également sa politique de clé. Lorsque vous sélectionnez des identités dans les sections Key Administrators (Administrateurs de clé) et Key Users (Utilisateurs de clé), AWS KMS ajoute des instructions de politique pour ces identités à la politique de clé de la clé KMS. La section Key Users (Utilisateurs de clé) vous permet également d'ajouter des comptes externes en tant qu'utilisateurs de clé.
Lorsque vous entrez l'ID de compte d'un compte externe, AWS KMS deux déclarations sont ajoutées à la politique clé. Cette action affecte uniquement la politique de clé. Les utilisateurs et les rôles du compte externe ne peuvent pas utiliser la clé KMS tant que vous n'avez pas attaché de politiques IAM pour leur accorder tout ou une partie de ces autorisations.
La première instruction de politique de clé accorde au compte externe l'autorisation d'utiliser la clé KMS dans les opérations de chiffrement. La deuxième déclaration de politique clé permet au compte externe de créer, de consulter et de révoquer des autorisations sur la clé KMS, mais uniquement lorsque la demande provient d'un AWS service intégré à AWS KMS
. Ces autorisations permettent aux autres AWS services qui cryptent les données utilisateur d'utiliser la clé KMS. Ces autorisations sont conçues pour les clés KMS qui chiffrent les données utilisateur dans les services AWS
Étape 2 : ajouter des politiques IAM dans le compte externe
La politique de clé du compte propriétaire de la clé KMS définit la plage valide pour les autorisations. Cependant, les utilisateurs et les rôles du compte externe ne peuvent pas utiliser la clé KMS tant que vous n'avez pas attaché des politiques IAM qui délèguent ces autorisations ou utilisé des octrois pour gérer l'accès à la clé KMS. Les politiques IAM sont définies dans le compte externe.
Si la politique de clé accorde l'autorisation au compte externe, vous pouvez attacher des politiques IAM à n'importe quel utilisateur ou rôle du compte. Toutefois, si la politique de clé accorde l'autorisation à des utilisateurs ou des rôles spécifiés, la politique IAM peut uniquement accorder ces autorisations à tous les utilisateurs et rôles spécifiés ou à un sous-ensemble. Si une politique IAM accorde l'accès à la clé KMS à d'autres utilisateurs ou rôles externes, cela n'a aucun effet.
La politique de clé limite également les actions dans la politique IAM. La politique IAM peut déléguer tout ou une partie des actions spécifiées dans la politique de clé. Si la politique IAM répertorie les actions qui ne sont pas spécifiées dans la politique de clé, ces autorisations ne sont pas effectives.
L'exemple de politique IAM suivant autorise le principal à utiliser la clé KMS dans le compte 111122223333
pour les opérations de chiffrement. Pour accorder cette autorisation aux utilisateurs et rôles du compte 444455556666
, attachez la politique aux utilisateurs ou rôles du compte 444455556666
.
Note
L'exemple suivant illustre une politique IAM qui permet de partager une clé KMS avec un autre compte. Remplacez les valeurs Sid
, Resource
et Action
de l'exemple par des valeurs valides pour l'utilisation prévue de votre clé KMS.
{ "Sid": "
AllowUseOfKeyInAccount111122223333
", "Effect": "Allow", "Action": ["kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey"
], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
" }
Notez les informations suivantes sur cette politique :
-
Contrairement aux politiques de clé, les instructions de politique IAM ne contiennent pas l'élément
Principal
. Dans les politiques IAM, le principal est l'identité à laquelle la politique est attachée. -
L'élément
Resource
de la politique IAM identifie la clé KMS que le principal peut utiliser. Pour spécifier une clé KMS, ajoutez son ARN de clé à l'élémentResource
. -
Vous pouvez spécifier plusieurs clés KMS dans l'élément
Resource
. Si vous ne spécifiez pas de clés KMS particulières dans l'élémentResource
, vous pouvez accorder par inadvertance l'accès à plus de clés KMS que prévu. -
Pour autoriser l'utilisateur externe à utiliser la clé KMS avec des services AWS qui s'intègrent à AWS KMS
, vous pouvez avoir besoin d'ajouter des autorisations à la politique de clé ou à la politique IAM. Pour plus de détails, veuillez consulter Autoriser l'utilisation de clés KMS externes avec Services AWS.
Pour plus d'informations sur l'utilisation des politiques IAM, veuillez consulter Politiques IAM.
Autoriser l'utilisation de clés KMS externes avec Services AWS
Vous pouvez autoriser un utilisateur d'un autre compte à utiliser votre clé KMS avec un service intégré à AWS KMS. Par exemple, un utilisateur d'un compte externe peut utiliser votre clé KMS pour chiffrer les objets d'un compartiment Amazon S3 ou pour chiffrer les secrets dans lesquels ils sont stockés. AWS Secrets Manager
La politique de clé doit accorder à l'utilisateur externe ou au compte de l'utilisateur externe l'autorisation d'utiliser la clé KMS. De plus, vous devez attribuer des politiques IAM à l'identité qui autorise l'utilisateur à utiliser Service AWS. Le service peut également exiger que les utilisateurs disposent d'autorisations supplémentaires dans la politique de clé ou la politique IAM. Pour obtenir la liste des autorisations Service AWS requises sur une clé gérée par le client, consultez la rubrique Protection des données dans le chapitre Sécurité du guide de l'utilisateur ou du guide du développeur du service.
Utilisation de clés KMS dans d'autres comptes
Si vous êtes autorisé à utiliser une clé KMS dans un autre Compte AWS, vous pouvez utiliser la clé KMS dans le AWS Management Console AWS SDKs, AWS CLI, et AWS Tools for PowerShell.
Pour identifier une clé KMS dans un compte différent dans une commande shell ou une demande d'API, utilisez les identificateurs de clé suivants.
-
Pour les opérations cryptographiques, et DescribeKeyGetPublicKey, utilisez l'ARN de la clé ou l'alias ARN de la clé KMS.
-
Pour CreateGrant, GetKeyRotationStatusListGrants, et RevokeGrant, utilisez l'ARN de la clé KMS.
Si vous entrez uniquement un identifiant de clé ou un nom d'alias, cela AWS suppose que la clé KMS se trouve dans votre compte.
La AWS KMS console n'affiche pas les clés KMS dans les autres comptes, même si vous êtes autorisé à les utiliser. En outre, les listes de clés KMS affichées dans les consoles d'autres services AWS n'incluent pas de clés KMS dans d'autres comptes.
Pour spécifier une clé KMS dans un autre compte de la console d'un AWS service, vous devez saisir l'ARN de la clé ou l'alias ARN de la clé KMS. L'identificateur de clé requis varie en fonction du service et peut différer entre la console de service et ses opérations d'API. Pour plus de détails, consultez la documentation du service.