CloudTrail structure du fichier digest - 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.

CloudTrail structure du fichier digest

Chaque fichier de condensat contient les noms des fichiers journaux qui ont été livrés dans votre compartiment Amazon S3 au cours de la dernière heure, les valeurs de hachage de ces fichiers journaux, ainsi que la signature numérique du précédent fichier de condensat. La signature du fichier de condensat actuel est stocké dans les propriétés de métadonnées de l’objet fichier de condensat. Les signatures numériques et les hachages sont utilisés pour valider l’intégrité des fichiers journaux et du fichier de condensat même.

Emplacement du fichier de condensat

Les fichiers de condensat sont livrés dans un emplacement de compartiment Amazon S3 qui respecte cette syntaxe.

s3://amzn-s3-demo-bucket/optional-prefix/AWSLogs/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz
Note

Pour les journaux d’activité d’une organisation, l’emplacement du compartiment inclut également l’ID de l’unité d’organisation, comme suit :

s3://amzn-s3-demo-bucket/optional-prefix/AWSLogs/O-ID/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz

Exemple de contenu du fichier de condensat

L'exemple de fichier de synthèse suivant contient les informations d'un CloudTrail journal.

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-17T14:01:31Z", "digestEndTime": "2015-08-17T15:01:31Z", "digestS3Bucket": "amzn-s3-demo-bucket", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T150131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z", "previousDigestS3Bucket": "amzn-s3-demo-bucket", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T140131Z.json.gz", "previousDigestHashValue": "97fb791cf91ffc440d274f8190dbdd9aa09c34432aba82739df18b6d3c13df2d", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "50887ccffad4c002b97caa37cc9dc626e3c680207d41d27fa5835458e066e0d3652fc4dfc30937e4d5f4cc7f796e7a258fb50a43ac427f2237f6e505d4efaf373d156e15e3b68dea9f58111d395b62628d6bd367a9024d2183b5c5f6e19466d3a996b92df705bc997b8a0e13430f241d733cf95df4e41bb6c304c3f58363043572ea57a27085639ce187e679c0d81c7519b1184fa77fb7ab0b0e40a32dace6e1eefc3995c5ae182da49b62b26398cebb52a2201a6387b75b89c83e5570bcb9bba6c34a80f2f00a1c6ebe07d1ff149eccd812dc805bb3eeff6657db32a6cb48d2d096404eb76181877bc6ebb8cd0b23f823200155b2fd8848d428e46e8456328a", "logFiles": [ { "s3Bucket": "amzn-s3-demo-bucket", "s3Object": "AWSLogs/111122223333/CloudTrail/us-east-2/2015/08/17/111122223333_CloudTrail_us-east-2_20150817T1445Z_9nYN7gp2eWAJHIfT.json.gz", "hashValue": "9bb6196fc6b84d6f075a56548feca262bd99ba3c2de41b618e5b6e22c1fc71f6", "hashAlgorithm": "SHA-256", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z" } ] }

Description des champs d’un fichier de condensat

Voici la description de chacun des champs du fichier de condensat :

awsAccountId

L'identifiant du AWS compte pour lequel le fichier condensé a été livré.

digestStartTime

La plage de UTC temps de début couverte par le fichier de synthèse, en prenant comme référence l'heure à laquelle les fichiers journaux ont été livrés CloudTrail. Cela signifie que si la plage de temps est [Ta, Tb], le condensé contiendra tous les fichiers journaux livrés au client entre Ta et Tb.

digestEndTime

Période de fin UTC couverte par le fichier de synthèse, en prenant comme référence l'heure à laquelle les fichiers journaux ont été livrés CloudTrail. Cela signifie que si la plage de temps est [Ta, Tb], le condensé contiendra tous les fichiers journaux livrés au client entre Ta et Tb.

digestS3Bucket

Le nom du compartiment Amazon S3 dans lequel le fichier de condensat actuel a été livré.

digestS3Object

La Clé d’objet Amazon S3 (c.-à-d., emplacement du compartiment Amazon S3) du fichier de condensat actuel. Les deux premières régions dans la chaîne présentent la région à partir de laquelle le fichier de condensat a été livré. La dernière région (après your-trail-name) est la région d'origine du journal de suivi. La région d'origine est celle dans laquelle le journal de suivi a été créé. Dans le cas d'un journal de suivi multi-régions, elle peut être différente de la région à partir de laquelle le fichier de condensat a été livré.

newestEventTime

L'UTCheure de l'événement le plus récent parmi tous les événements figurant dans les fichiers journaux du condensé.

oldestEventTime

UTCHeure de l'événement le plus ancien parmi tous les événements figurant dans les fichiers journaux du condensé.

Note

Si le fichier de condensat est livré en retard, la valeur de oldestEventTime sera antérieure à la valeur de digestStartTime.

previousDigestS3Bucket

Le Compartiment Amazon S3 dans lequel le fichier de condensat précédent a été livré.

previousDigestS3Object

La Clé d’objet Amazon S3 (c.-à-d., emplacement du compartiment Amazon S3) du fichier de condensat précédent.

previousDigestHashValue

La valeur de hachage codée hexadécimale du contenu non compressé du fichier de condensat précédent.

previousDigestHashAlgorithm

Le nom de l’algorithme de hachage utilisé pour hacher le fichier de condensat précédent.

publicKeyFingerprint

L’empreinte codée au format hexadécimal de la clé publique qui correspond à la clé privée utilisée pour signer ce fichier de condensat. Vous pouvez récupérer les clés publiques pour la plage de temps correspondant au fichier condensé en utilisant le AWS CLI ou le CloudTrail API. Parmi les clés publiques renvoyées, celle dont l’empreinte correspond à cette valeur peut être utilisée pour valider le fichier de condensat. Pour plus d'informations sur la récupération des clés publiques pour les fichiers de synthèse, consultez la AWS CLI list-public-keyscommande ou le CloudTrail ListPublicKeysAPI.

Note

CloudTrail utilise différentes paires de clés privées/publiques par région. Chaque fichier de condensat est signé avec une clé privée unique à sa région. Par conséquent, lorsque vous validez un fichier de condensat provenant d'une région donnée, vous devez rechercher dans la même région la clé publique correspondante.

digestSignatureAlgorithm

L’algorithme utilisé pour signer le fichier de condensat.

logFiles.s3Bucket

Le nom du compartiment Amazon S3 contenant le fichier journal.

logFiles.s3Object

La clé d’objet Amazon S3 du fichier journal actuel.

logFiles.newestEventTime

UTCHeure de l'événement le plus récent dans le fichier journal. Cette heure correspond aussi à l’horodatage du fichier journal même.

logFiles.oldestEventTime

UTCHeure de l'événement le plus ancien du fichier journal.

logFiles.hashValue

La valeur de hachage codée au format hexadécimal du contenu du fichier journal décompressé.

logFiles.hashAlgorithm

L’algorithme de hachage utilisé pour hacher le fichier journal.

Fichier de condensat de départ

Au démarrage de la validation de l’intégrité des fichiers journaux, un fichier de condensat de départ sera généré. Un fichier de condensat de départ sera également généré au redémarrage de la validation de l’intégrité des fichiers journaux (soit en désactivant puis en réactivant la validation de l’intégrité des fichiers journaux ou en arrêtant puis en redémarrant la journalisation avec la validation activée). Dans un fichier de condensat de départ, les champs suivants concernant le fichier de condensat précédent auront la valeur nulle :

  • previousDigestS3Bucket

  • previousDigestS3Object

  • previousDigestHashValue

  • previousDigestHashAlgorithm

  • previousDigestSignature

Fichiers de condensat « vides »

CloudTrail fournira un fichier de résumé même s'il n'y a eu aucune API activité sur votre compte pendant la période d'une heure que représente le fichier de résumé. Cela peut être utile lorsque vous avez besoin d’affirmer qu’aucun fichier journal n’a été livré au cours de l’heure signalé par le fichier de condensat.

L'exemple suivant montre le contenu d'un fichier de synthèse qui a enregistré une heure pendant laquelle aucune API activité ne s'est produite. Notez que le champ logFiles:[ ] à la fin du contenu du fichier de condensat est vide.

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-20T17:01:31Z", "digestEndTime": "2015-08-20T18:01:31Z", "digestS3Bucket": "amzn-s3-demo-bucket", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T180131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": null, "oldestEventTime": null, "previousDigestS3Bucket": "amzn-s3-demo-bucket", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T170131Z.json.gz", "previousDigestHashValue": "ed96c4bac9eaa8fe9716ca0e515da51938be651b1db31d781956416a9d05cdfa", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "82705525fb0fe7f919f9434e5b7138cb41793c776c7414f3520c0242902daa8cc8286b29263d2627f2f259471c745b1654af76e2073264b2510fd45236b3aea4d80c0e8e6455223d7bd54ff80af0edf22a5f14fa856626daec919f0591479aa4f213787ba1e1076328dcf8ff624e03a977fa5612dcf58594c590fd8c1c5b48bddf43fc84ecc00b41bedd0ff7f293c3e2de8dcdc78f98b03e17577f5822ba842399d69eb79921c0429773509520e08c8b518702d987dfbb3a4e5d8c5f17673ce1f989dfff82d4becf24e452f20d3bcac94ad50131f93e57f10155536acb54c60efbe9d57228c2b930bc6082b2318e3ccd36834a8e835b8d112dbf32145f445c11", "logFiles": [] }

Signature du fichier de condensat

Les informations de signature d’un fichier de condensat sont contenues dans deux propriétés de métadonnées de l’objet du fichier de condensat Amazon S3. Chaque fichier de condensat contient les entrées de métadonnées suivantes :

  • x-amz-meta-signature

    La valeur codée au format hexadécimal de la signature du fichier de condensat. Voici un exemple de signature :

    3be472336fa2989ef34de1b3c1bf851f59eb030eaff3e2fb6600a082a23f4c6a82966565b994f9de4a5989d053d9d15d20fc5c43e66358652d93326550a4acc5c5f541bb52e9b455897ab723bd7cbabfe963a406a41d600f3658f7a3135e5ed9fcae7b79bb5857d1e5eb78fcce8595ce0ade2f3ad1d9f2d62be7bc4660d83166ce24586489b7da9ee9883eaf0b9efabb5dd3cbba565cc4aab5c9c46c9fa7e9cda310afcc5e8adcd9e48d0597ec5f8174a52c3bebb3e845eeb1d18904fbf4cc14cd117080098e10022ddf55e017a9431446acad8560de0ba1e477af9f8a3048bc6196350adad0cc0cb4ab99b5e7c9944437a3c674a038009220684ced7be07b4f 28f1cc237f372264a51b611c01da429565def703539f4e71009051769469231bc22232fa260df02740047af532229885ea2b0e95ecd353326b7104941e0cbddb076a391f1fcf2923c19565f4841770a78723451aeb732ff1b6162dc40e601fc6720bc5325987942ebd817783b322f0ac77698523bf742fdea7aa44f4911b3101221b7e1233387f16a52077610498f4a1254211258e37da0fb4cb207aef593b4c1baa13674e85acc52046b3adb889e63331a66abac5de7e42ffdd6952987c31ae871650e130bd2e63bfe145b22bbd39ea192210f6df64d49b888a321e02d3fc4cf126accae30d2857ccd6b2286a7c9feba6c35c44161b24147d645e6ca26844ba 05d3ffcb5d2dd5dc28f8bb5b7993938e8a5f912a82b448a367eccb2ec0f198ba71e23eb0b97278cf65f3c8d1e652c6de33a22ca8428821ffc95bf8b726ba9f37cfbc20c54dc5bd6159bdea1c4d951b68cb8e0528852c55bb0c5e499ea60560f7c2bb3af7f694407da863a2594f7a2f2838cb09254afbaf8003587746e719a0437f85eeffae534f283f3837eb939a9bccc3c71573500661245891051231b580ac92d9e0e68c6f47ad38975f493e2c40e7f303353c4adc7d563ef1e875977afac2e085f0c824045d998c9543d8a3293ad3c063b7a109d0bfd84b0b1e3f72c4f057e744e6a2cf9cc97727b08584f44bfa47799c5072b60f0b619aea88a17de585e9
  • x-amz-meta-signature-algorithm

    Ci-après, un exemple de valeur de l’algorithme utilisé pour générer la signature du condensé :

    SHA256withRSA

Chaînage du fichier de condensat

Le fait que chaque fichier de résumé contienne une référence à son précédent fichier de résumé permet un « chaînage » qui permet à des outils de validation tels que le de AWS CLI détecter si un fichier de résumé a été supprimé. Il autorise également l’inspection des fichiers de condensat contenus dans une plage de temps donnée successivement, en commençant par le plus récent.

Note

Lorsque vous désactivez la validation de l'intégrité des fichiers journaux, la chaîne des fichiers de synthèse est interrompue au bout d'une heure. CloudTrail ne créera pas de fichiers de synthèse pour les fichiers journaux fournis pendant une période pendant laquelle la validation de l'intégrité des fichiers journaux était désactivée. Par exemple, si vous activez la validation de l’intégrité de fichiers journaux à midi le 1er janvier, que vous la désactiviez le 2 janvier à midi et la réactiviez le 10 janvier à midi, les fichiers de condensat ne seront pas créés pour les fichiers journaux livrés du 2 janvier à midi au 10 janvier à midi. Il en va de même chaque fois que vous CloudTrail arrêtez de consigner ou supprimez un parcours.

Si la politique de compartiment S3 de votre sentier est mal configurée ou si elle CloudTrail subit une interruption de service inattendue, il est possible que vous ne receviez pas tous les fichiers de résumé ou certains d'entre eux. Pour vérifier si votre journal contient des erreurs de livraison du résumé, exécutez la get-trail-statuscommande et vérifiez l'absence d'erreurs dans le LatestDigestDeliveryError paramètre. Une fois le problème de livraison résolu (par exemple, en corrigeant la politique relative aux compartiments), CloudTrail tentera de renvoyer les fichiers de résumé manquants. Au cours de la période de relivraison, les fichiers du résumé peuvent être livrés en rupture de commande, de sorte que la chaîne peut sembler temporairement interrompue.

Si la journalisation est arrêtée ou si le journal est supprimé, un fichier de résumé final CloudTrail sera fourni. Ce fichier de condensat peut contenir des informations concernant tout fichier journal restant qui couvre des événements jusqu’à et y compris l’événement StopLogging.