View a markdown version of this page

Configuration des destinations S3 pour les requêtes planifiées - 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.

Configuration des destinations S3 pour les requêtes planifiées

Configurez Amazon S3 comme destination pour stocker les résultats de vos requêtes planifiées sous forme de fichiers JSON pour une conservation et une analyse à long terme.

Lorsque vous utilisez Amazon S3 comme destination, les résultats des requêtes sont stockés sous forme de fichiers JSON dans le compartiment et le préfixe spécifiés. Cette option est idéale pour archiver les résultats, effectuer des analyses par lots ou intégrer d'autres AWS services traitant des données S3.

Vous pouvez envoyer les résultats de la requête à un compartiment Amazon S3 du même AWS compte que la requête planifiée ou à un compartiment d'un autre AWS compte. Vous pouvez également éventuellement chiffrer les résultats des requêtes à l'aide d'une AWS KMS clé gérée par le client (SSE-KMS).

Transmission des résultats vers un compartiment Amazon S3 dans le même compte

Lorsque le compartiment Amazon S3 de destination se trouve dans le même AWS compte que la requête planifiée, vous pouvez parcourir et sélectionner le compartiment directement depuis la console.

Pour configurer une destination Amazon S3 pour le même compte (console)
  1. Dans la section Publier les résultats de la requête dans S3, pour le compartiment S3, sélectionnez Ce compte.

  2. Pour l'URI Amazon S3, entrez le compartiment Amazon S3 et le préfixe dans lesquels les résultats seront stockés (par exemple,s3://my-bucket/query-results/), ou choisissez Parcourir Amazon S3 pour naviguer et sélectionner un emplacement Amazon S3 existant.

  3. (Facultatif) Pour chiffrer les résultats avec une AWS KMS clé gérée par le client, entrez l'ARN de la AWS KMS clé dans le champ ARN de la clé KMS. La clé doit se trouver dans la même AWS région que le compartiment Amazon S3 de destination. Si vous ne spécifiez aucune AWS KMS clé, les paramètres de chiffrement par défaut du compartiment s'appliquent.

  4. Dans la section Rôle IAM pour publier les résultats des requêtes sur Amazon S3, choisissez Créer automatiquement un nouveau rôle avec les autorisations par défaut pour configurer automatiquement les autorisations requises, ou choisissez Utiliser un rôle existant pour sélectionner un rôle IAM existant avec les politiques requises.

Le rôle IAM de livraison de destination nécessite les autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }

Transmission des résultats vers un compartiment Amazon S3 d'un autre compte

Vous pouvez envoyer les résultats des requêtes planifiées à un compartiment Amazon S3 d'un autre AWS compte. Lorsque vous utilisez un compartiment multi-comptes, vous devez fournir l'URI Amazon S3 et l'ID de compte du compte propriétaire du compartiment.

Pour configurer une destination Amazon S3 entre comptes (console)
  1. Dans la section Publier les résultats de la requête dans S3, pour le compartiment S3, sélectionnez Un autre compte et saisissez l'ID du compte propriétaire du compartiment en entrée.

  2. Pour l'URI Amazon S3, entrez l'URI Amazon S3 complet du compartiment de destination et le préfixe de l'autre compte (par exemple,s3://cross-account-bucket/query-results/).

  3. (Facultatif) Pour chiffrer les résultats avec une AWS KMS clé gérée par le client, entrez l'ARN de la AWS KMS clé dans le champ ARN de la clé KMS. La clé doit se trouver dans la même AWS région que le compartiment Amazon S3 de destination.

  4. Dans la section Rôle IAM pour publier les résultats des requêtes sur Amazon S3, choisissez Créer automatiquement un nouveau rôle avec les autorisations par défaut pour configurer automatiquement les autorisations requises, ou choisissez Utiliser un rôle existant pour sélectionner un rôle IAM existant avec les politiques requises.

La livraison entre comptes nécessite des autorisations des deux côtés. Le rôle IAM de livraison de destination dans le compte source nécessite les autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::cross-account-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }

La politique du compartiment Amazon S3 du compte de destination doit accorder au rôle IAM du compte source l'autorisation d'écrire des objets :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowScheduledQueryRolePutObject", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/my-s3-delivery-role" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::cross-account-bucket/prefix/*" } ] }

Chiffrer les résultats à l'aide d'une clé gérée par AWS KMS le client

Vous pouvez éventuellement spécifier une AWS KMS clé gérée par le client pour chiffrer les résultats des requêtes transmis à Amazon S3 à l'aide de SSE-KMS. La AWS KMS clé peut se trouver dans le même compte que la requête planifiée ou dans un autre compte.

Lorsque vous spécifiez une AWS KMS clé, la requête planifiée utilise cette clé pour chiffrer les résultats via SSE-KMS. Lorsque vous ne spécifiez aucune AWS KMS clé, les paramètres de chiffrement par défaut du compartiment s'appliquent. Si le compartiment est configuré avec le chiffrement SSE-KMS par défaut à l'aide d'une clé gérée par le client, le rôle IAM de livraison de destination doit toujours disposer d'une kms:GenerateDataKey autorisation sur cette clé.

Le rôle IAM de livraison de destination nécessite une kms:GenerateDataKey autorisation sur la AWS KMS clé. L'exemple suivant montre les autorisations requises pour une destination Amazon S3 avec une AWS KMS clé gérée par le client :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/prefix/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } }, { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::my-bucket*" } } } ] }

Lorsque la AWS KMS clé se trouve dans un compte différent du rôle IAM de livraison de destination, la politique AWS KMS clé du compte propriétaire de la clé doit explicitement accorder l'accès au rôle :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowScheduledQueryRoleToEncrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/my-s3-delivery-role" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::my-bucket*" } } } ] }
Note

Lorsque la AWS KMS clé et le rôle IAM de livraison de destination se trouvent dans le même compte, la politique d'identité IAM à elle seule suffit si la politique AWS KMS clé inclut l'instruction racine par défaut « Activer les politiques IAM ». Une attribution explicite de politique AWS KMS clé n'est requise que si la politique clé ne délègue pas à IAM.

Le rôle IAM pour publier les résultats des requêtes sur Amazon S3 doit être configuré séparément du rôle IAM pour l'exécution planifiée des requêtes. Cette séparation permet un contrôle d'accès précis, où le rôle d'exécution peut exécuter des requêtes tandis que le rôle Amazon S3 gère spécifiquement la livraison des résultats. Les deux rôles doivent inclure une politique de confiance qui autorise le service CloudWatch Logs (logs.amazonaws.com) à assumer le rôle.