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.
Configuration des politiques de clés AWS KMS pour CloudTrail
Vous pouvez créer une AWS KMS key de trois manières :
-
La console CloudTrail
-
La console AWS Management
-
La AWS CLI
Note
Si vous créez une clé KMS dans la console CloudTrail, CloudTrail ajoutera la politique de clé KMS requise pour vous. Vous n’avez pas besoin d’ajouter manuellement les déclarations de politique. Consultez Politique de clé KMS par défaut créée dans la console CloudTrail.
Si vous créez une clé KMS dans AWS Management ou la AWS CLI, vous devez ajouter des sections de politique de clé afin que vous puissiez l’utiliser avec CloudTrail. La politique doit permettre à CloudTrail d'utiliser la clé pour chiffrer vos fichiers journaux et vos magasins de données d'événement, et autoriser les utilisateurs que vous spécifiez à lire les fichiers journaux sous forme non chiffrée.
Consultez les ressources suivantes :
-
Pour créer une clé KMS avec l’AWS CLI, consultez create-key (créer une clé).
-
Pour modifier une politique de clé KMS pour CloudTrail, consultez Modification d’une politique de clé dans le AWS Key Management ServiceGuide du développeur.
-
Pour plus de détails techniques sur la façon dont CloudTrail utilise AWS KMS, consultez Comment AWS CloudTrail utilise AWS KMS dans le Guide du développeurAWS Key Management Service.
Sections de politique de clé KMS obligatoires à utiliser avec CloudTrail
Si vous avez créé une clé KMS avec la console AWS Management ou la AWS CLI, vous devez par conséquent, tout au moins, ajouter ces déclarations suivantes à votre politique de clé KMS pour qu’elle fonctionne avec CloudTrail.
Rubriques
Éléments de politique clé KMS requis pour les journaux de suivi
-
Activer les autorisations de chiffrement de journaux CloudTrail. Consultez Attribution des autorisations de chiffrement.
-
Activer les autorisations de déchiffrement de journaux CloudTrail. Consultez Attribution des autorisations de déchiffrement. Si vous utilisez un compartiment S3 existant avec une clé S3 Bucket Key (Clé de compartiment S3), les autorisations
kms:Decrypt
sont nécessaires pour créer ou mettre à jour un journal de suivi en utilisant le chiffrement SSE-KMS activé. -
Activer CloudTrail pour décrire les propriétés des clés KMS. Consultez Activer CloudTrail pour décrire les propriétés des clés KMS.
Comme bonne pratique en matière de sécurité, ajoutez une clé de condition aws:SourceArn
à la politique de clé KMS. La clé de condition globale IAM aws:SourceArn
permet de s’assurer que CloudTrail utilise la clé KMS uniquement pour un ou plusieurs journaux d’activité spécifiques. La valeur de aws:SourceArn
est toujours l’ARN du journal d’activité (ou tableau des ARN du journal d’activité) qui utilise la clé KMS. Veillez à ajouter la clé de condition aws:SourceArn
des politiques de clé KMS pour les journaux d’activité existants.
La clé de condition aws:SourceAccount
est également prise en charge, mais elle n’est pas recommandée. La valeur de aws:SourceAccount
est l’ID de compte du propriétaire du journal d’activité ou, pour les journaux d’activité de l’organisation, l’ID du compte de gestion.
Important
Lorsque vous ajoutez les nouvelles sections à votre politique de clé KMS, ne changez pas les sections existantes dans la politique.
Si le chiffrement est activé sur un journal d’activité et que la clé KMS est désactivée ou que la politique de clé KMS n’est pas correctement configurée pour CloudTrail, CloudTrail ne livrera pas les journaux.
Éléments de politique clé KMS requis pour les magasins de données d'événement
-
Activer les autorisations de chiffrement de journaux CloudTrail. Consultez Attribution des autorisations de chiffrement.
-
Activer les autorisations de déchiffrement de journaux CloudTrail. Consultez Attribution des autorisations de déchiffrement.
-
Accordez aux utilisateurs et aux rôles l'autorisation de chiffrer et de déchiffrer les données d'événement avec la clé KMS.
Lorsque vous créez un magasin de données d'événement et le chiffrez avec une clé KMS, ou que vous exécutez des requêtes sur un magasin de données d'événement que vous chiffrez avec une clé KMS, vous devez avoir un accès en écriture à la clé KMS. La politique de clé KMS doit avoir accès à CloudTrail, et la clé KMS doit être administrable par les utilisateurs qui exécutent des opérations (telles que des requêtes) sur le magasin de données d'événement.
-
Activer CloudTrail pour décrire les propriétés des clés KMS. Consultez Activer CloudTrail pour décrire les propriétés des clés KMS.
Les clés de condition aws:SourceArn
et aws:SourceAccount
ne sont pas prises en charge dans les politiques relatives aux clés KMS pour les magasins de données d'événement.
Important
Lorsque vous ajoutez les nouvelles sections à votre politique de clé KMS, ne changez pas les sections existantes dans la politique.
Si le chiffrement est activé sur un magasin de données d'événement, et que la clé KMS est désactivée ou supprimée, ou que la politique de clé KMS n'est pas correctement configurée pour CloudTrail, ce dernier ne peut pas livrer les événements à votre magasin de données d'événement.
Attribution des autorisations de chiffrement
Exemple Autoriser CloudTrail à chiffrer les journaux pour le compte de comptes spécifiques
CloudTrail a besoin d’une autorisation explicite pour utiliser la clé KMS afin de chiffrer les journaux au nom de comptes spécifiques. Afin de spécifier un compte, ajoutez l'instruction requise suivante à votre politique de clé KMS et remplacez account-id
, region
et trailName
par les valeurs appropriées pour votre configuration. Vous pouvez ajouter des ID de compte supplémentaires à la section EncryptionContext
pour permettre à ces comptes d’utiliser CloudTrail pour utiliser votre clé KMS afin de chiffrer les fichiers journaux.
Comme bonne pratique en matière de sécurité, ajoutez une clé de condition aws:SourceArn
à la politique de clé KMS pour un journal de suivi. La clé de condition globale IAM aws:SourceArn
permet de s’assurer que CloudTrail utilise la clé KMS uniquement pour un ou plusieurs journaux d’activité spécifiques.
{ "Sid": "Allow CloudTrail to encrypt logs", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:
region
:account-id
:trail/trail-name
" }, "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:account-id
:trail/*" } } }
Une politique pour une clé KMS utilisée pour chiffrer les journaux du magasin de données d'événement CloudTrail Lake ne peut pas utiliser les clés de condition aws:SourceArn
ou aws:SourceAccount
. Voici un exemple de politique de clé KMS pour un magasin de données d'événement.
{ "Sid": "Allow CloudTrail to encrypt event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }
Voici un exemple de déclaration de politique qui illustre la façon dont un autre compte peut utiliser votre clé KMS pour chiffrer les journaux CloudTrail.
Scénario
-
Votre clé KMS se trouve dans le compte
111111111111
. -
Le compte
222222222222
et vous-même chiffrerez les journaux.
Dans la politique, vous ajoutez au CloudTrail EncryptionContext un ou plusieurs comptes qui procèdent au chiffrement avec votre clé. Cela contraint CloudTrail à n'utiliser votre clé pour chiffrer les journaux que pour les comptes que vous spécifiez. Lorsque vous donnez au root du compte 222222222222
l'autorisation de chiffrer les journaux, il délègue à l'administrateur du compte l'autorisation de chiffrer les autorisations nécessaires aux autres utilisateurs de ce compte. Pour ce faire, l'administrateur du compte modifie les politiques associées à ces utilisateurs IAM.
Comme bonne pratique en matière de sécurité, ajoutez une clé de condition aws:SourceArn
à la politique de clé KMS. La clé de condition globale IAM aws:SourceArn
permet de s'assurer que CloudTrail n'utilise la clé KMS que pour les journaux de suivi spécifiés. Cette condition n'est pas prise en charge dans les stratégies de clé KMS pour les stockages de données d'événement.
Déclaration de politique de clé KMS :
{ "Sid": "Enable CloudTrail encrypt permissions", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws:cloudtrail:*:
111111111111
:trail/*", "arn:aws:cloudtrail:*:222222222222
:trail/*" ] }, "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region
:account-id
:trail/trail-name
" } } }
Pour plus d'informations sur la modification d'une stratégie de clé KMS à utiliser avec CloudTrail, veuillez consulter Editing a Key Policy dans le Guide du développeur AWS Key Management Service.
Attribution des autorisations de déchiffrement
Avant d’ajouter votre clé KMS à votre configuration CloudTrail, il est important d’accorder des autorisations de déchiffrement à tous les utilisateurs qui en ont besoin. Les utilisateurs disposant d'autorisations de chiffrement, mais pas de déchiffrement ne peuvent pas lire les journaux chiffrés. Si vous utilisez un compartiment S3 existant avec une cléClé de compartiment S3, les autorisations kms:Decrypt
sont requises pour créer ou mettre à jour un journal d’activité avec le chiffrement SSE-KMS activé.
Activer les autorisations de déchiffrement de journaux CloudTrail
Les utilisateurs de votre clé doivent détenir des autorisations explicites pour être en mesure de lire les fichiers journaux que CloudTrail a chiffrés. Pour permettre aux utilisateurs de lire les journaux chiffrés, ajoutez l'instruction obligatoire suivante à votre stratégie de clé KMS, en modifiant la section Principal
pour ajouter une ligne pour chaque principal que vous souhaitez pouvoir déchiffrer en utilisant votre clé KMS.
{ "Sid": "Enable CloudTrail log decrypt permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-id
:user/username
" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }
Voici un exemple de politique requise pour permettre au principal du service CloudTrail de déchiffrer les journaux de suivi.
{ "Sid": "Allow CloudTrail to decrypt a trail", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }
Une politique de déchiffrage pour une clé KMS utilisée avec un magasin de données d'événement CloudTrail Lake est similaire à ce qui suit. Les ARN d'utilisateur ou de rôle spécifiés comme valeurs pour Principal
doivent déchiffrer les autorisations pour créer ou mettre à jour des magasins de données d'événement, exécuter des requêtes ou obtenir des résultats de requêtes.
{ "Sid": "Enable user key permissions for event data stores" "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-id
:user/username
" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }
Voici un exemple de politique requise pour permettre au principal du service CloudTrail de déchiffrer les journaux du magasin de données d'événement.
{ "Sid": "Allow CloudTrail to decrypt an event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }
Autoriser les utilisateurs de votre compte à déchiffrer les journaux de suivi avec votre clé KMS
Exemple
Cette déclaration de politique illustre la façon d'autoriser un utilisateur ou un rôle dans votre compte à utiliser votre clé pour lire les journaux chiffrés dans le compartiment S3 de votre compte.
Exemple Scénario
-
Votre clé KMS, votre compartiment S3 et l'utilisateur IAM Bob se trouvent dans le compte
.111111111111
-
Vous accordez à l’utilisateur IAM Bob l’autorisation de déchiffrer les journaux CloudTrail dans le compartiment S3.
Dans la politique de clé, vous activez les autorisations de déchiffrement de journaux CloudTrail pour l’utilisateur IAM Bob.
Déclaration de politique de clé KMS :
{ "Sid": "Enable CloudTrail log decrypt permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111111111111
:user/Bob" }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region
:account-id
:key/key-id
", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }
Rubriques
Autoriser les utilisateurs d'autres comptes à déchiffrer les journaux de suivi avec votre clé KMS
Vous pouvez autoriser les utilisateurs d'autres comptes à utiliser votre clé KMS pour déchiffrer les journaux de suivi, mais pas les journaux du magasin de données d'événement. Les modifications à apporter à votre politique de clé dépendent du fait que le compartiment S3 se trouve dans votre compte ou dans un autre compte.
Autoriser les utilisateurs d’un compartiment dans un autre compte à déchiffrer les journaux
Exemple
Cette déclaration de politique montre comment autoriser un utilisateur IAM ou un rôle dans un autre compte à utiliser votre clé pour lire des journaux chiffrés d’un compartiment S3 dans l’autre compte.
Scénario
-
Votre clé KMS se trouve dans le compte
.111111111111
-
L'utilisatrice IAM Alice et le compartiment S3 sont dans le compte
.222222222222
Dans ce cas, vous accordez à CloudTrail l'autorisation de déchiffrer les journaux sous le compte
, et à Alice l'autorisation de politique d'utilisateur IAM d'utiliser votre clé 222222222222
, qui est dans le compte KeyA
. 111111111111
Déclaration de stratégie de clé KMS :
{ "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
222222222222
:root" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:region
:account-id
:key/key-id
", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }
Déclaration de politique utilisateur IAM d’Alice :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:
111111111111
:key/KeyA
" } ] }
Autoriser les utilisateurs d'un autre compte à déchiffrer les journaux de suivi de votre compartiment
Exemple
Cette politique illustre la façon dont un autre compte peut utiliser votre clé pour lire les journaux chiffrés à partir de votre compartiment S3.
Exemple Scénario
-
Votre clé KMS et le compartiment S3 sont dans le compte
.111111111111
-
L'utilisateur qui lit les journaux dans votre compartiment est dans le compte
.222222222222
Pour activer ce scénario, vous activez les autorisations de déchiffrement pour le rôle IAM CloudTrailReadRole dans votre compte, et puis vous accordez à l’autre compte l’autorisation d’assumer ce rôle.
Déclaration de politique de clé KMS :
{ "Sid": "Enable encrypted CloudTrail log read access", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::11111111111:role/CloudTrailReadRole" ] }, "Action": "kms:Decrypt", "Resource": "arn:aws:kms:
region
:account-id
:key/key-id
", "Condition": { "Null": { "kms:EncryptionContext:aws:cloudtrail:arn": "false" } } }
Déclaration de politique d’entité de confiance CloudTrailReadRole :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CloudTrail access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
222222222222
:root" }, "Action": "sts:AssumeRole" } ] }
Pour plus d'informations sur la modification d'une politique de clé KMS à utiliser avec CloudTrail, consultez Modification d'une politique de clé dans le Guide du développeur AWS Key Management Service.
Activer CloudTrail pour décrire les propriétés des clés KMS
CloudTrail nécessite la capacité à décrire les propriétés de la clé KMS. Pour activer cette fonctionnalité, ajoutez l’instruction obligatoire suivante telle quelle à votre politique de clé KMS. Cette instruction n’accorde à CloudTrail aucune autorisation au-delà des autres autorisations que vous spécifiez.
Comme bonne pratique en matière de sécurité, ajoutez une clé de condition aws:SourceArn
à la politique de clé KMS. La clé de condition globale IAM aws:SourceArn
permet de s’assurer que CloudTrail utilise la clé KMS uniquement pour un ou plusieurs journaux d’activité spécifiques.
{ "Sid": "Allow CloudTrail access", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:
region
:account-id
:key/key-id
", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudtrail:region
:account-id
:trail/trail-name
" } } }
Pour plus d’informations sur la modification des politiques de clé KMS, consultez Modification d’une politique de clé dans le Guide du développeurAWS Key Management Service.