CloudTrail struttura del file digest - 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à.

CloudTrail struttura del file digest

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://DOC-EXAMPLE-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
Nota

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

s3://DOC-EXAMPLE-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

Contenuto dei file digest di esempio

Il seguente file digest di esempio contiene informazioni per un CloudTrail registro.

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

Descrizione dei campi dei file digest

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

awsAccountId

L'ID AWS dell'account per il quale è stato consegnato il file digest.

digestStartTime

L'intervallo di UTC tempo iniziale coperto dal file digest, prendendo come riferimento l'ora in cui i file di registro sono stati consegnati. 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

L'intervallo di UTC tempo finale coperto dal file digest, prendendo come riferimento l'ora in cui i file di registro sono stati consegnati. 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

L'UTCora dell'evento più recente tra tutti gli eventi nei file di registro del digest.

oldestEventTime

L'UTCora dell'evento più vecchio tra tutti gli eventi nei file di registro del 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. È possibile recuperare le chiavi pubbliche per l'intervallo di tempo corrispondente al file digest utilizzando o il AWS CLI . CloudTrail API 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, vedete il comando o il. AWS CLI list-public-keys CloudTrail ListPublicKeysAPI

Nota

CloudTrail utilizza diverse coppie di chiavi pubblice/private 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

L'UTCora dell'evento più recente nel file di registro. Questa ora corrisponde inoltre al time stamp del file di log stesso.

logFiles.oldestEventTime

L'UTCora dell'evento più vecchio nel file di registro.

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 consegnerà un file digest anche se non vi è stata alcuna API attività nel tuo account durante il periodo di un'ora rappresentato dal file digest. 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 il contenuto di un file digest che ha registrato un'ora in cui non si è verificata alcuna API attività. 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": "DOC-EXAMPLE-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": "DOC-EXAMPLE-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": [] }

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 file digest precedente consente un «concatenamento» che consente a strumenti di convalida come il di AWS CLI 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 registro, la catena di file digest viene interrotta dopo un'ora. CloudTrail non creerà file digest per i file di registro che sono stati consegnati durante un periodo in cui la convalida dell'integrità dei file di registro era 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 che si interrompe CloudTrail la registrazione o si elimina una traccia.

Se la policy del bucket S3 del tuo trail non è configurata correttamente o si verifica CloudTrail un'interruzione imprevista del servizio, potresti non ricevere tutti o alcuni file digest. Per confermare se il trail presenta errori di consegna del digest, esegui il get-trail-statuscomando e verifica la presenza di errori nel parametro. LatestDigestDeliveryError Dopo aver risolto il problema di consegna (ad esempio, correggendo la policy del bucket), CloudTrail tenterà di recapitare i file digest mancanti. Durante il periodo di riconsegna, i file digest potrebbero essere consegnati fuori servizio, pertanto la catena potrebbe sembrare temporaneamente interrotta.

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