Struttura dei file di digest di CloudTrail - AWS CloudTrail

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Struttura dei file di digest di CloudTrail

Ogni file digest contiene i nomi dei file di log distribuiti nel bucket Amazon S3 durante l'ultima ora, i valori hash per tali file di log e la firma digitale del file di digest precedente. La firma del file digest corrente è memorizzata nelle proprietà metadati dell'oggetto file digest. Le firme digitali e gli hash vengono utilizzati per la convalida dell'integrità dei file di log e del file digest stesso.

Posizione dei file digest

I file digest vengono distribuiti in un bucket Amazon S3 il cui percorso è conforme alla seguente sintassi.

s3://s3-bucket-name/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
Nota

Per i trail dell'organizzazione, la posizione del bucket include anche l'ID dell'unità organizzativa, come segue:

s3://s3-bucket-name/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

Contenuto dei file digest di esempio

Nel seguente file digest di esempio sono contenute le informazioni relative a un log di CloudTrail.

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-17T14:01:31Z", "digestEndTime": "2015-08-17T15:01:31Z", "digestS3Bucket": "S3-bucket-name", "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": "S3-bucket-name", "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": "S3-bucket-name", "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" } ] }

Descrizione dei campi dei file digest

Di seguito sono riportate descrizioni di ciascun campo del file digest:

awsAccountId

ID account AWS per il quale il file digest è stato distribuito.

digestStartTime

Ora di inizio, in formato UTC, dell'intervallo di tempo di riferimento del file digest, considerando l'ora in cui i file di log sono stati distribuiti da CloudTrail. Ciò significa che se l'intervallo di tempo è [Ta, Tb], il file digest conterrà tutti i file di log distribuiti al cliente tra Ta e Tb.

digestEndTime

Ora di fine, in formato UTC, dell'intervallo di tempo di riferimento del file digest, considerando l'ora in cui i file di log sono stati distribuiti da CloudTrail. Ciò significa che se l'intervallo di tempo è [Ta, Tb], il file digest conterrà tutti i file di log distribuiti al cliente tra Ta e Tb.

digestS3Bucket

Nome del bucket Amazon S3 in cui il file digest corrente è stato distribuito.

digestS3Object

Chiave dell'oggetto Amazon S3 (ovvero il percorso del bucket Amazon S3) del file digest corrente. Le prime due Regioni nella stringa mostrano la Regione da cui il file digest è stato distribuito. L'ultima Regione (dopo your-trail-name) è la Regione di origine del percorso. La Regione di origine è la Regione in cui è stato creato il percorso. Nel caso di un percorso multi-regione, la Regione potrebbe essere diversa da quella da cui il file digest è stato distribuito.

newestEventTime

Ora, in formato UTC, dell'evento più recente rispetto a tutti gli eventi nei file di log inclusi nel file digest.

oldestEventTime

Ora, in formato UTC, dell'evento meno recente rispetto a tutti gli eventi nei file di log inclusi nel file digest.

Nota

Se il file digest viene distribuito in ritardo, il valore di oldestEventTime sarà anteriore al valore di digestStartTime.

previousDigestS3Bucket

Bucket Amazon S3 in cui il precedente file digest è stato distribuito.

previousDigestS3Object

Chiave dell'oggetto Amazon S3 (ovvero il percorso del bucket Amazon S3) del file digest precedente.

previousDigestHashValue

Valore hash con codifica esadecimale dei contenuti non compressi del file digest precedente.

previousDigestHashAlgorithm

Nome dell'algoritmo hash utilizzato per eseguire l'hashing del file digest precedente.

publicKeyFingerprint

Impronta con codifica esadecimale della chiave pubblica corrispondente alla chiave privata utilizzata per firmare il file digest. Puoi recuperare le chiavi pubbliche per l'intervallo di tempo corrispondente al file digest utilizzando la AWS CLI oppure l'API CloudTrail. Tra le chiavi pubbliche restituite, la chiave la cui impronta corrisponde a questo valore può essere usata per convalidare il file digest. Per informazioni sul recupero delle chiavi pubbliche per i file digest, consulta il comando list-public-keys della AWS CLI o l'API ListPublicKeys di CloudTrail.

Nota

CloudTrail utilizza coppie di chiave pubblica/privata diverse per Regione. Ogni file digest è firmato con una chiave privata univoca per la Regione corrispondente. Pertanto, quando convalidi un file digest di una determinata Regione, nella stessa Regione devi recuperare la corrispondente chiave pubblica.

digestSignatureAlgorithm

Algoritmo usato per firmare il file digest.

logFiles.s3Bucket

Nome del bucket Amazon S3 per il file di log.

logFiles.s3Object

Chiave dell'oggetto Amazon S3 del file di log corrente.

logFiles.newestEventTime

Ora, in formato UTC, dell'evento più recente nel file di log. Questa ora corrisponde inoltre al time stamp del file di log stesso.

logFiles.oldestEventTime

Ora, in formato UTC, dell'evento meno recente nel file di log.

logFiles.hashValue

Valore hash con codifica esadecimale del contenuto non compresso del file di log.

logFiles.hashAlgorithm

Algoritmo hash usato per eseguire l'hashing del file di log.

File digest di iniziale

Quando viene avviata la convalida dell'integrità dei file di log, verrà generato un file digest iniziale. Un file digest iniziale verrà generato anche quando viene riavviata la convalida dell'integrità dei file di log (mediante la disabilitazione e quindi la riabilitazione di tale processo di convalida oppure mediante l'arresto e il riavvio della registrazione con la convalida abilitata). In un file digest iniziale, i seguenti campi relativi al file digest precedente saranno null:

  • previousDigestS3Bucket

  • previousDigestS3Object

  • previousDigestHashValue

  • previousDigestHashAlgorithm

  • previousDigestSignature

File digest 'vuoti'

CloudTrail distribuirà un file digest anche in assenza di attività API nel tuo account durante il periodo di un'ora rappresentato dal file digest stesso. Ciò può essere utile quando è necessario verificare che non sono stati distribuiti file di log durante l'ora di riferimento del file digest.

L'esempio seguente mostra i contenuti di un file digest contenente un'ora di registrazione in assenza di qualsiasi tipo di attività API. Si noti che il campo logFiles:[ ] alla fine del contenuto del file digest è vuoto.

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-20T17:01:31Z", "digestEndTime": "2015-08-20T18:01:31Z", "digestS3Bucket": "example-bucket-name", "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": "example-bucket-name", "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": [] }

Firma del file digest

Le informazioni sulla firma di un file digest si trovano in due proprietà metadati dell'oggetto file digest Amazon S3. Ogni file digest include le seguenti voci di metadati:

  • x-amz-meta-signature

    Valore con codifica esadecimale della firma del file digest. Di seguito è riportata una firma di esempio:

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

    L'esempio seguente mostra un valore dell'algoritmo utilizzato per generare la firma del file digest:

    SHA256withRSA

Concatenamento di file digest

Il fatto che ogni file digest contenga un riferimento al relativo file digest precedente crea un "concatenamento" che permette agli strumenti di convalida, ad esempio alla AWS CLI, di rilevare se un file digest è stato eliminato. Consente inoltre ai file digest di un intervallo di tempo specificato di venire controllati in successione, a partire dal file più recente.

Nota

Quando si disabilita la convalida dell'integrità dei file di log, la catena di file digest viene interrotta dopo un'ora. CloudTrail non creerà file digest per i file di log distribuiti durante un periodo di tempo in cui la convalida dell'integrità dei file di log è stata disabilitata. Ad esempio, se si abilita la convalida dell'integrità dei file di log a mezzogiorno del 1° gennaio, la si disabilita a mezzogiorno del 2 gennaio e la si abilita di nuovo a mezzogiorno del 10 gennaio, non verranno creati file digest per i file di log distribuiti da mezzogiorno del 2 gennaio a mezzogiorno del 10 gennaio. Lo stesso vale ogni volta in cui viene arrestata la registrazione CloudTrail o si elimina un trail.

Se la registrazione viene interrotta o il percorso viene eliminato, CloudTrail distribuirà un file digest finale. Questo file digest può contenere informazioni per qualsiasi file di log rimanente che fa riferimento fino all'evento StopLogging compreso.