Exporter les données du journal vers Amazon S3 à l'aide de la console - Amazon CloudWatch Logs

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.

Exporter les données du journal vers Amazon S3 à l'aide de la console

Dans les exemples suivants, vous utilisez la CloudWatch console Amazon pour exporter toutes les données d'un groupe de CloudWatch journaux Amazon Logs nommé my-log-group vers un compartiment Amazon S3 nommémy-exported-logs.

L'exportation de données de journal vers des compartiments S3 qui sont chiffrés par SSE-KMS est prise en charge. L'exportation vers les compartiments chiffrés avec DSSE-KMS n'est pas prise en charge.

Les détails de la configuration de l'exportation varient selon que le compartiment Amazon S3 vers lequel vous souhaitez exporter se trouve dans le même compte que vos journaux à exporter ou dans un compte différent.

Exportation vers le même compte

Si le compartiment Amazon S3 se trouve dans le même compte que les journaux à exporter, suivez les instructions de cette section.

Étape 1 : Créer un compartiment Amazon S3

Nous vous recommandons d'utiliser un bucket créé spécifiquement pour CloudWatch Logs. Cependant, si vous souhaitez utiliser un compartiment existant, vous pouvez passer à l'étape 2.

Note

Le compartiment S3 doit résider dans la même région que les données du journal à exporter. CloudWatch Logs ne prend pas en charge l'exportation de données vers des compartiments S3 d'une autre région.

Pour créer un compartiment S3
  1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  2. Si nécessaire, changez la région. Dans la barre de navigation, choisissez la région dans laquelle se trouvent vos CloudWatch journaux.

  3. Choisissez Créer un compartiment.

  4. Dans Bucket Name (Nom de compartiment), attribuez un nom au compartiment.

  5. Pour Région, sélectionnez la région dans laquelle se trouvent vos données de CloudWatch journalisation.

  6. Choisissez Créer.

Étape 2 : définir les autorisations d'accès

Pour créer la tâche d'exportation à l'étape 5, vous devez être connecté avec le rôle IAM AmazonS3ReadOnlyAccess et disposer des autorisations suivantes :

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Étape 3 : définir les autorisations sur un compartiment S3

Par défaut, tous les objets et les compartiments S3 sont privés. Seul le propriétaire de la ressource, le Compte AWS ayant créé le compartiment, peut accéder au compartiment et aux objets qu'il contient. Le propriétaire de la ressource peut toutefois accorder des autorisations d'accès à d'autres ressources et à d'autres utilisateurs en créant une stratégie d'accès.

Lorsque vous définissez la stratégie, nous vous recommandons d'inclure une chaîne générée de façon aléatoire comme préfixe pour le compartiment, afin que seuls les flux de journaux prévus soient exportés vers le compartiment.

Important

Pour sécuriser davantage les exportations vers les compartiments S3, nous vous demandons désormais de spécifier la liste des comptes sources autorisés à exporter les données des journaux vers votre compartiment S3.

Dans l'exemple suivant, la liste des identifiants de compte figurant dans la aws:SourceAccount clé correspond aux comptes à partir desquels un utilisateur peut exporter des données de journal vers votre compartiment S3. La clé aws:SourceArn correspond à la ressource pour laquelle l'action est entreprise. Vous pouvez limiter cela à un groupe de journaux spécifique ou utiliser un caractère générique, comme indiqué dans cet exemple.

Nous vous recommandons d'inclure également l'ID du compte sur lequel le compartiment S3 est créé, afin de permettre l'exportation au sein du même compte.

Pour définir des autorisations sur un compartiment Amazon S3
  1. Dans la console Amazon S3, choisissez le compartiment que vous avez créé à l'étape 1.

  2. Choisissez Permissions, Bucket policy.

  3. Dans Bucket Policy Editor (Éditeur de stratégie de compartiment), ajoutez la politique ci-dessous. Remplacez my-exported-logs par le nom de votre compartiment S3. Assurez-vous de spécifier le point de terminaison correct de la région, tel que us-west-1, pour Principal.

    { "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/*", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } } ] }
  4. Choisissez Save pour définir la stratégie que vous venez d'ajouter en tant que stratégie d'accès à votre compartiment. Cette politique permet à CloudWatch Logs d'exporter les données des journaux vers votre compartiment S3. Le propriétaire du compartiment dispose des autorisations d'accès complet à tous les objets exportés.

    Avertissement

    Si une ou plusieurs politiques sont déjà associées au bucket existant, ajoutez les instructions pour l'accès aux CloudWatch journaux à cette ou ces politiques. Nous vous recommandons d'évaluer le jeu d'autorisations obtenu pour vérifier son adéquation pour les utilisateurs appelés à accéder au compartiment.

(Facultatif) Étape 4 : exportation vers un compartiment chiffré avec SSE-KMS

Cette étape n'est nécessaire que si vous exportez vers un compartiment S3 qui utilise le chiffrement côté serveur avec. AWS KMS keys Ce chiffrement est connu sous le nom de SSE-KMS.

Exportation vers un compartiment chiffré avec SSE-KMS
  1. Ouvrez la AWS KMS console à l'adresse https://console.aws.amazon.com/kms.

  2. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

  3. Dans le panneau de navigation de gauche, choisissez Customer manages keys (Clés gérées par le client).

    Choisissez Create key (Créer une clé).

  4. Pour Type de clé, choisissez Symétrique.

  5. Pour Key usage (Utilisation de la clé), choisissez Encrypt and decrypt (Chiffrer et déchiffrer), puis choisissez Next (Suivant).

  6. Sous Add labels (Ajouter des étiquettes) saisissez un alias pour la clé et ajoutez éventuellement une description ou des balises. Ensuite, sélectionnez Suivant.

  7. Sous Key administrators (Administrateurs de clés), sélectionnez qui peut administrer cette clé, puis choisissez Next (Suivant).

  8. Sous Define key usage permissions (Définir les autorisations d'utilisation des clés), n'apportez aucune modification et choisissez Next (Suivant).

  9. Passez en revue vos paramètres, puis choisissez Finish (Terminer).

  10. De retour sur la page Customer managed keys (Clés gérées par le client), choisissez le nom de la clé que vous venez de créer.

  11. Choisissez l'onglet Key policy (Politique de clé) et choisissez Switch to policy view (Passer à la vue de la politique).

  12. Dans la section Key policy (Politique de clé), choisissez Edit (Modifier).

  13. Ajoutez la déclaration suivante à la liste des déclarations de politique de clé. Dans ce cas, remplacez Region par la région de vos journaux et remplacez account-ARN par l'ARN du compte propriétaire de la clé KMS.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" } ] }
  14. Sélectionnez Enregistrer les modifications.

  15. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  16. Trouvez le compartiment que vous avez créé dans Étape 1 : Créer un compartiment S3 et choisissez son nom.

  17. Choisissez l’onglet Propriétés. Ensuite, sous Default encryption (Chiffrement par défaut), choisissez Edit (Modifier).

  18. Sous Server-side encryption (Chiffrement côté serveur), choisissez Enable (Activer).

  19. Sous Encryption type (Type de chiffrement), choisissez AWS Key Management Service key (SSE-KMS) (Clé KMS (SSE-KMS)).

  20. Choisissez Choisir parmi vos AWS KMS clés et recherchez la clé que vous avez créée.

  21. Pour Bucket name (Nom du compartiment), choisissez Enable (Activer).

  22. Sélectionnez Enregistrer les modifications.

Étape 5 : créer une tâche d'exportation

Dans cette étape, vous créez la tâche d'exportation pour exporter des journaux d'un groupe de journaux.

Pour exporter des données vers Amazon S3 à l'aide de la CloudWatch console
  1. Connectez-vous avec les autorisations suffisantes, comme indiqué dans Étape 2 : définir les autorisations d'accès.

  2. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  3. Dans le panneau de navigation, choisissez Groupes de journaux.

  4. Dans l'écran Groupes de journaux choisissez le nom du groupe de journaux.

  5. Choisissez Actions, Export data to Amazon S3 (Exporter les données vers Amazon S3).

  6. Dans l'écran Export data to Amazon S3 (Exporter les données vers Amazon S3), sous Define data export (Définir les données à exporter), définissez la plage de temps pour les données à exporter grâce aux champs From (De) et To (À).

  7. Si votre groupe de journaux a plusieurs flux de journal, vous pouvez indiquer un préfixe de flux de journal pour limiter les données du groupe de journaux à un flux spécifique. Choisissez Advanced (Avancé), puis indiquez le préfixe de flux de journal dans Stream prefix (Préfixe de flux).

  8. Sous Choose S3 bucket (Choisir le compartiment S3), choisissez le compte associé au compartiment S3.

  9. Pour S3 bucket name (Nom du compartiment S3), choisissez un compartiment S3.

  10. Pour Préfixe du compartiment S3, indiquez la chaîne générée de façon aléatoire que vous avez spécifiée dans la stratégie de compartiment.

  11. Choisissez Export (Exporter) pour exporter les données de journal vers Amazon S3.

  12. Pour afficher l'état des données de journal que vous avez exportées vers Amazon S3, choisissez Actions, puis View all exports to Amazon S3 (Afficher tous les exports vers Amazon S3).

Exportation intercomptes

Si le compartiment Amazon S3 se trouve dans un compte différent de celui des journaux à exporter, suivez les instructions de cette section.

Étape 1 : Créer un compartiment Amazon S3

Nous vous recommandons d'utiliser un bucket créé spécifiquement pour CloudWatch Logs. Cependant, si vous souhaitez utiliser un compartiment existant, vous pouvez passer à l'étape 2.

Note

Le compartiment S3 doit résider dans la même région que les données du journal à exporter. CloudWatch Logs ne prend pas en charge l'exportation de données vers des compartiments S3 d'une autre région.

Pour créer un compartiment S3
  1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  2. Si nécessaire, changez la région. Dans la barre de navigation, choisissez la région dans laquelle se trouvent vos CloudWatch journaux.

  3. Choisissez Créer un compartiment.

  4. Dans Bucket Name (Nom de compartiment), attribuez un nom au compartiment.

  5. Pour Région, sélectionnez la région dans laquelle se trouvent vos données de CloudWatch journalisation.

  6. Choisissez Créer.

Étape 2 : définir les autorisations d'accès

Tout d'abord, vous devez créer une nouvelle politique IAM pour permettre à CloudWatch Logs d'avoir l's3:PutObjectautorisation d'accéder au compartiment Amazon S3 de destination dans le compte de destination.

La politique que vous créez dépend de l'utilisation ou non du AWS KMS chiffrement par le compartiment de destination.

Pour créer une politique IAM afin d'exporter les journaux vers un compartiment Amazon S3
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de gauche, choisissez Politiques.

  3. Sélectionnez Créer une politique.

  4. Dans la section Éditeur de politique, sélectionnez JSON.

  5. Si le compartiment de destination n'utilise pas le AWS KMS chiffrement, collez la politique suivante dans l'éditeur.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*" } ] }

    Si le compartiment de destination utilise le AWS KMS chiffrement, collez la politique suivante dans l'éditeur.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "ARN_OF_KMS_KEY" } ] }
  6. Choisissez Suivant.

  7. Entrez un nom de stratégie. Vous utiliserez ce nom pour associer la politique à votre rôle IAM.

  8. Sélectionnez Créer une politique pour enregistrer la nouvelle politique.

Pour créer la tâche d'exportation à l'étape 5, vous devez vous connecter avec le rôle IAM AmazonS3ReadOnlyAccess. Vous devez également vous connecter avec la politique IAM que vous venez de créer et les autorisations suivantes :

  • logs:CreateExportTask

  • logs:CancelExportTask

  • logs:DescribeExportTasks

  • logs:DescribeLogStreams

  • logs:DescribeLogGroups

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Étape 3 : définir les autorisations sur un compartiment S3

Par défaut, tous les objets et les compartiments S3 sont privés. Seul le propriétaire de la ressource, le Compte AWS ayant créé le compartiment, peut accéder au compartiment et aux objets qu'il contient. Le propriétaire de la ressource peut toutefois accorder des autorisations d'accès à d'autres ressources et à d'autres utilisateurs en créant une stratégie d'accès.

Lorsque vous définissez la stratégie, nous vous recommandons d'inclure une chaîne générée de façon aléatoire comme préfixe pour le compartiment, afin que seuls les flux de journaux prévus soient exportés vers le compartiment.

Important

Pour sécuriser davantage les exportations vers les compartiments S3, nous vous demandons désormais de spécifier la liste des comptes sources autorisés à exporter les données des journaux vers votre compartiment S3.

Dans l'exemple suivant, la liste des identifiants de compte figurant dans la aws:SourceAccount clé correspond aux comptes à partir desquels un utilisateur peut exporter des données de journal vers votre compartiment S3. La clé aws:SourceArn correspond à la ressource pour laquelle l'action est entreprise. Vous pouvez limiter cela à un groupe de journaux spécifique ou utiliser un caractère générique, comme indiqué dans cet exemple.

Nous vous recommandons d'inclure également l'ID du compte sur lequel le compartiment S3 est créé, afin de permettre l'exportation au sein du même compte.

Pour définir des autorisations sur un compartiment Amazon S3
  1. Dans la console Amazon S3, choisissez le compartiment que vous avez créé à l'étape 1.

  2. Choisissez Permissions, Bucket policy.

  3. Dans Bucket Policy Editor (Éditeur de stratégie de compartiment), ajoutez la politique ci-dessous. Remplacez my-exported-logs par le nom de votre compartiment S3. Assurez-vous de spécifier le point de terminaison correct de la région, tel que us-west-1, pour Principal.

    { "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/*", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "AccountId1", "AccountId2", ... ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:Region:AccountId1:log-group:*", "arn:aws:logs:Region:AccountId2:log-group:*", ... ] } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::create_export_task_caller_account:role/role_name" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-exported-logs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
  4. Choisissez Save pour définir la stratégie que vous venez d'ajouter en tant que stratégie d'accès à votre compartiment. Cette politique permet à CloudWatch Logs d'exporter les données des journaux vers votre compartiment S3. Le propriétaire du compartiment dispose des autorisations d'accès complet à tous les objets exportés.

    Avertissement

    Si une ou plusieurs politiques sont déjà associées au bucket existant, ajoutez les instructions pour l'accès aux CloudWatch journaux à cette ou ces politiques. Nous vous recommandons d'évaluer le jeu d'autorisations obtenu pour vérifier son adéquation pour les utilisateurs appelés à accéder au compartiment.

(Facultatif) Étape 4 : exportation vers un compartiment chiffré avec SSE-KMS

Cette étape n'est nécessaire que si vous exportez vers un compartiment S3 qui utilise le chiffrement côté serveur avec. AWS KMS keys Ce chiffrement est connu sous le nom de SSE-KMS.

Exportation vers un compartiment chiffré avec SSE-KMS
  1. Ouvrez la AWS KMS console à l'adresse https://console.aws.amazon.com/kms.

  2. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

  3. Dans le panneau de navigation de gauche, choisissez Customer manages keys (Clés gérées par le client).

    Choisissez Create key (Créer une clé).

  4. Pour Type de clé, choisissez Symétrique.

  5. Pour Key usage (Utilisation de la clé), choisissez Encrypt and decrypt (Chiffrer et déchiffrer), puis choisissez Next (Suivant).

  6. Sous Add labels (Ajouter des étiquettes) saisissez un alias pour la clé et ajoutez éventuellement une description ou des balises. Ensuite, sélectionnez Suivant.

  7. Sous Key administrators (Administrateurs de clés), sélectionnez qui peut administrer cette clé, puis choisissez Next (Suivant).

  8. Sous Define key usage permissions (Définir les autorisations d'utilisation des clés), n'apportez aucune modification et choisissez Next (Suivant).

  9. Passez en revue vos paramètres, puis choisissez Finish (Terminer).

  10. De retour sur la page Customer managed keys (Clés gérées par le client), choisissez le nom de la clé que vous venez de créer.

  11. Choisissez l'onglet Key policy (Politique de clé) et choisissez Switch to policy view (Passer à la vue de la politique).

  12. Dans la section Key policy (Politique de clé), choisissez Edit (Modifier).

  13. Ajoutez la déclaration suivante à la liste des déclarations de politique de clé. Dans ce cas, remplacez Region par la région de vos journaux et remplacez account-ARN par l'ARN du compte propriétaire de la clé KMS.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CWL Service Principal usage", "Effect": "Allow", "Principal": { "Service": "logs.Region.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "account-ARN" }, "Action": [ "kms:GetKeyPolicy*", "kms:PutKeyPolicy*", "kms:DescribeKey*", "kms:CreateAlias*", "kms:ScheduleKeyDeletion*", "kms:Decrypt" ], "Resource": "*" }, { "Sid": "Enable IAM Role Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::create_export_task_caller_account:role/role_name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "ARN_OF_KMS_KEY" } ] }
  14. Sélectionnez Enregistrer les modifications.

  15. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  16. Trouvez le compartiment que vous avez créé dans Étape 1 : Créer un compartiment S3 et choisissez son nom.

  17. Choisissez l’onglet Propriétés. Ensuite, sous Default encryption (Chiffrement par défaut), choisissez Edit (Modifier).

  18. Sous Server-side encryption (Chiffrement côté serveur), choisissez Enable (Activer).

  19. Sous Encryption type (Type de chiffrement), choisissez AWS Key Management Service key (SSE-KMS) (Clé KMS (SSE-KMS)).

  20. Choisissez Choisir parmi vos AWS KMS clés et recherchez la clé que vous avez créée.

  21. Pour Bucket name (Nom du compartiment), choisissez Enable (Activer).

  22. Sélectionnez Enregistrer les modifications.

Étape 5 : créer une tâche d'exportation

Dans cette étape, vous créez la tâche d'exportation pour exporter des journaux d'un groupe de journaux.

Pour exporter des données vers Amazon S3 à l'aide de la CloudWatch console
  1. Connectez-vous avec les autorisations suffisantes, comme indiqué dans Étape 2 : définir les autorisations d'accès.

  2. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  3. Dans le panneau de navigation, choisissez Groupes de journaux.

  4. Dans l'écran Groupes de journaux choisissez le nom du groupe de journaux.

  5. Choisissez Actions, Export data to Amazon S3 (Exporter les données vers Amazon S3).

  6. Dans l'écran Export data to Amazon S3 (Exporter les données vers Amazon S3), sous Define data export (Définir les données à exporter), définissez la plage de temps pour les données à exporter grâce aux champs From (De) et To (À).

  7. Si votre groupe de journaux a plusieurs flux de journal, vous pouvez indiquer un préfixe de flux de journal pour limiter les données du groupe de journaux à un flux spécifique. Choisissez Advanced (Avancé), puis indiquez le préfixe de flux de journal dans Stream prefix (Préfixe de flux).

  8. Sous Choose S3 bucket (Choisir le compartiment S3), choisissez le compte associé au compartiment S3.

  9. Pour S3 bucket name (Nom du compartiment S3), choisissez un compartiment S3.

  10. Pour Préfixe du compartiment S3, indiquez la chaîne générée de façon aléatoire que vous avez spécifiée dans la stratégie de compartiment.

  11. Choisissez Export (Exporter) pour exporter les données de journal vers Amazon S3.

  12. Pour afficher l'état des données de journal que vous avez exportées vers Amazon S3, choisissez Actions, puis View all exports to Amazon S3 (Afficher tous les exports vers Amazon S3).