Configurer les politiques AWS KMS clés pour CloudTrail - AWS CloudTrail

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.

Configurer les politiques AWS KMS clés pour CloudTrail

Vous pouvez créer un AWS KMS key de trois manières :

  • La CloudTrail console

  • La console AWS de gestion

  • Le AWS CLI

Note

Si vous créez une KMS clé dans la CloudTrail console, CloudTrail ajoute la politique de KMS clé requise pour vous. Vous n’avez pas besoin d’ajouter manuellement les déclarations de politique. Consultez Politique KMS clé par défaut créée dans CloudTrail la console.

Si vous créez une KMS clé dans le AWS Management ou dans le AWS CLI, vous devez ajouter des sections de politique à la clé afin de pouvoir l'utiliser avec CloudTrail. La politique doit autoriser CloudTrail l'utilisation de la clé pour chiffrer vos fichiers journaux et vos magasins de données d'événements, 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 KMS clé avec le AWS CLI, voir create-key.

  • Pour modifier une politique KMS clé pour CloudTrail, voir Modifier une politique clé dans le guide du AWS Key Management Service développeur.

  • Pour obtenir des informations techniques sur le mode d' CloudTrail utilisation AWS KMS, reportez-vous AWS KMSà la section Mode AWS CloudTrail d'emploi du guide du AWS Key Management Service développeur.

Sections de politique KMS clés requises pour une utilisation avec CloudTrail

Si vous avez créé une KMS clé à l'aide de la console de AWS gestion ou du AWS CLI, vous devez au minimum ajouter les instructions suivantes à votre politique de KMS clés pour qu'elle fonctionne CloudTrail.

Éléments de politique KMS clés requis pour les sentiers

  1. Activez les autorisations de chiffrement du CloudTrail journal. veuillez consulter Attribution des autorisations de chiffrement.

  2. Activez les autorisations de déchiffrement du CloudTrail journal. veuillez consulter Attribution des autorisations de déchiffrement. Si vous utilisez un compartiment S3 existant avec une clé de compartiment S3, kms:Decrypt des autorisations sont nécessaires pour créer ou mettre à jour un journal avec SSE KMS le chiffrement activé.

  3. Activez CloudTrail cette option pour décrire KMS les principales propriétés. veuillez consulter Activer CloudTrail pour décrire les propriétés KMS clés.

La meilleure pratique en matière de sécurité consiste à ajouter une clé de aws:SourceArn condition à la politique de KMS clé. La clé de condition IAM globale aws:SourceArn permet de s'assurer qu'elle KMS n'est CloudTrail utilisée que pour un ou plusieurs sentiers spécifiques. La valeur de aws:SourceArn est toujours le parcours ARN (ou le tableau de sentiersARNs) qui utilise la KMS clé. Assurez-vous d'ajouter la clé de aws:SourceArn condition aux politiques KMS clés relatives aux sentiers 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 KMS clé, ne modifiez aucune section existante de la politique.

Si le chiffrement est activé lors d'un suivi et que la KMS clé est désactivée, ou si la politique en matière de KMS clés n'est pas correctement configurée CloudTrail, les journaux CloudTrail ne peuvent pas être envoyés.

Éléments de politique KMS clés requis pour les magasins de données sur les événements

  1. Activez les autorisations de chiffrement du CloudTrail journal. veuillez consulter Attribution des autorisations de chiffrement.

  2. Activez les autorisations de déchiffrement du CloudTrail journal. veuillez consulter Attribution des autorisations de déchiffrement.

  3. Accordez aux utilisateurs et aux rôles l'autorisation de chiffrer et de déchiffrer les données du magasin de données d'événements à l'aide de la KMS clé.

    Lorsque vous créez un magasin de données d'événements et que vous le chiffrez avec une KMS clé, ou que vous exécutez des requêtes sur un magasin de données d'événements que vous chiffrez avec une KMS clé, vous devez disposer d'un accès en écriture à la KMS clé. La politique des KMS clés doit avoir accès au magasin de données d'événements CloudTrail, et la KMS clé doit être gérable par les utilisateurs qui exécutent des opérations (telles que des requêtes) sur le magasin de données d'événements.

  4. Activez CloudTrail cette option pour décrire KMS les principales propriétés. veuillez consulter Activer CloudTrail pour décrire les propriétés KMS clés.

Les clés de aws:SourceAccount condition aws:SourceArn et ne sont pas prises en charge dans les politiques KMS clés relatives aux magasins de données d'événements.

Important

Lorsque vous ajoutez les nouvelles sections à votre politique KMS clé, ne modifiez aucune section existante de la politique.

Si le chiffrement est activé sur un magasin de données d'événements et que la KMS clé est désactivée ou supprimée, ou si la politique de KMS clé n'est pas correctement configurée CloudTrail, vous CloudTrail ne pouvez pas transmettre d'événements à votre magasin de données d'événements.

Attribution des autorisations de chiffrement

Exemple CloudTrail Autoriser le chiffrement des journaux pour le compte de comptes spécifiques

CloudTrail nécessite une autorisation explicite pour utiliser la KMS clé afin de chiffrer les journaux pour le compte de comptes spécifiques. Pour spécifier un compte, ajoutez la déclaration obligatoire suivante à votre politique KMS principale et remplacez account-id, region, et trailName avec les valeurs appropriées à votre configuration. Vous pouvez ajouter un compte supplémentaire IDs à la EncryptionContext section pour permettre à ces comptes CloudTrail d'utiliser votre KMS clé pour chiffrer les fichiers journaux.

En matière de sécurité, il est recommandé d'ajouter une clé de aws:SourceArn condition à la politique KMS clé d'un sentier. La clé de condition IAM globale aws:SourceArn permet de s'assurer qu'elle KMS n'est CloudTrail utilisée que pour un ou plusieurs sentiers 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 relative à une KMS clé utilisée pour chiffrer les journaux du magasin de données d'événements de CloudTrail Lake ne peut pas utiliser les clés de condition aws:SourceArn ouaws:SourceAccount. Voici un exemple de politique KMS clé pour un magasin de données d'événements.

{ "Sid": "Allow CloudTrail to encrypt event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

L'exemple de déclaration de politique suivant illustre comment un autre compte peut utiliser votre KMS clé pour chiffrer CloudTrail les journaux.

Scénario
  • Votre KMS clé est dans le compte 111111111111.

  • Vous et votre compte 222222222222 chiffrera les journaux.

Dans la politique, vous ajoutez un ou plusieurs comptes chiffrés à l'aide de votre clé au CloudTrail EncryptionContext. Cela se limite CloudTrail à l'utilisation de votre clé pour chiffrer les journaux uniquement pour les comptes que vous spécifiez. Lorsque vous indiquez la racine du compte 222222222222 autorisation de chiffrer les journaux, elle 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 IAM utilisateurs.

La meilleure pratique en matière de sécurité consiste à ajouter une clé de aws:SourceArn condition à la politique de KMS clé. La clé de condition IAM globale aws:SourceArn permet de s'assurer qu'elle KMS n'est CloudTrail utilisée que pour les sentiers spécifiés. Cette condition n'est pas prise en charge dans les KMS principales politiques relatives aux magasins de données d'événements.

KMSdéclaration de politique clé :

{ "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 politique KMS clé à utiliser avec CloudTrail, consultez la section Modification d'une politique clé dans le Guide du AWS Key Management Service développeur.

Attribution des autorisations de déchiffrement

Avant d'ajouter votre KMS clé à votre CloudTrail configuration, il est important de donner 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é de compartiment S3, kms:Decrypt des autorisations sont nécessaires pour créer ou mettre à jour un journal avec SSE KMS le chiffrement activé.

Activer les autorisations de déchiffrement du CloudTrail journal

Les utilisateurs de votre clé doivent disposer d'autorisations explicites pour lire les CloudTrail fichiers journaux chiffrés. Pour permettre aux utilisateurs de lire les journaux chiffrés, ajoutez l'instruction obligatoire suivante à votre politique en matière de KMS clés, en modifiant la Principal section pour ajouter une ligne pour chaque principal que vous souhaitez pouvoir déchiffrer à l'aide de votre KMS clé.

{ "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 autoriser le principal du CloudTrail service à déchiffrer les journaux de suivi.

{ "Sid": "Allow CloudTrail to decrypt a trail", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

La politique de déchiffrement d'une KMS clé utilisée avec un magasin de données d'événements CloudTrail Lake est similaire à la suivante. L'utilisateur ou le rôle ARNs spécifié sous forme de valeurs Principal nécessite des autorisations de déchiffrement pour créer ou mettre à jour des banques de données d'événements, 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 CloudTrail service de déchiffrer les journaux du magasin de données d'événements.

{ "Sid": "Allow CloudTrail to decrypt an event data store", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*" }

Autorisez les utilisateurs de votre compte à déchiffrer les journaux de suivi avec votre KMS clé

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 KMS clé, votre compartiment S3 et votre IAM utilisateur Bob sont pris en compte111111111111.

  • Vous autorisez IAM l'utilisateur Bob à déchiffrer CloudTrail les journaux dans le compartiment S3.

Dans la politique clé, vous activez les autorisations de déchiffrement du CloudTrail journal pour IAM l'utilisateur Bob.

KMSdéclaration de politique clé :

{ "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 KMS clé

    Vous pouvez autoriser les utilisateurs d'autres comptes à utiliser votre KMS clé pour déchiffrer les journaux de suivi, mais pas les journaux du magasin de données sur les événements. 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 explique comment autoriser un IAM utilisateur ou un rôle dans un autre compte à utiliser votre clé pour lire les journaux chiffrés d'un compartiment S3 de l'autre compte.

    Scénario
    • Votre KMS clé est dans le compte111111111111.

    • L'IAMutilisateur Alice et le compartiment S3 sont pris en compte222222222222.

    Dans ce cas, vous CloudTrail autorisez le déchiffrement des journaux sous compte222222222222, et vous autorisez la politique IAM d'utilisation d'Alice à utiliser votre cléKeyA, qui est enregistrée dans le compte111111111111.

    KMSdéclaration de politique clé :

    { "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 IAM d'utilisation 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 KMS clé et votre compartiment S3 sont pris en compte111111111111.

    • 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 IAM rôle CloudTrailReadRoledans votre compte, puis vous autorisez l'autre compte à assumer ce rôle.

    KMSdéclaration de politique clé :

    { "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" } } }

    CloudTrailReadRoledéclaration de politique relative aux entités de confiance :

    { "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 KMS clé à utiliser avec CloudTrail, consultez la section Modification d'une politique clé dans le guide du AWS Key Management Service développeur.

    Activer CloudTrail pour décrire les propriétés KMS clés

    CloudTrail nécessite la capacité de décrire les propriétés de la KMS clé. Pour activer cette fonctionnalité, ajoutez l'énoncé obligatoire suivant tel quel à votre politique KMS clé. Cette déclaration n'accorde CloudTrail aucune autorisation au-delà des autres autorisations que vous spécifiez.

    La meilleure pratique en matière de sécurité consiste à ajouter une clé de aws:SourceArn condition à la politique de KMS clé. La clé de condition IAM globale aws:SourceArn permet de s'assurer qu'elle KMS n'est CloudTrail utilisée que pour un ou plusieurs sentiers 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 KMS clés, consultez la section Modification d'une politique clé dans le guide du AWS Key Management Service développeur.