CloudTrail 摘要檔案結構 - AWS CloudTrail

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CloudTrail 摘要檔案結構

每個摘要檔案包含上個小時交付至您 Amazon S3 儲存貯體的日誌檔案名稱、這些日誌檔案的雜湊值,以及前一個摘要檔的數位簽章。目前的摘要檔案簽章存放在摘要檔案物件的中繼資料屬性中。數位簽章和雜湊是用於驗證日誌檔案和摘要檔案本身的完整性。

摘要檔案位置

摘要檔案會交付到遵循此語法的 Amazon S3 儲存貯體位置。

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
注意

對於組織追蹤,儲存貯體的位置也包含組織單位 ID,如下所示:

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

範例摘要檔案內容

下列範例摘要檔包含 CloudTrail 記錄的資訊。

{ "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" } ] }

摘要檔案欄位說明

以下是摘要檔案中每個欄位的說明:

awsAccountId

摘要檔案已傳遞的 AWS 帳號 ID。

digestStartTime

摘要檔案涵蓋的開始UTC時間範圍,作為記錄檔傳送時間的參考 CloudTrail。這表示如果時間範圍是 [Ta, Tb],摘要會包含從 Ta 到 Tb 這段時間內交付給客戶的所有日誌檔案。

digestEndTime

摘要檔案涵蓋的結束UTC時間範圍,作為記錄檔傳送時間的參考 CloudTrail。這表示如果時間範圍是 [Ta, Tb],摘要會包含從 Ta 到 Tb 這段時間內交付給客戶的所有日誌檔案。

digestS3Bucket

目前摘要檔案已交付的 Amazon S3 儲存貯體名稱。

digestS3Object

目前摘要檔案的 Amazon S3 物件金鑰 (也就是 Amazon S3 儲存貯體位置)。字串中的前兩個區域,會顯示摘要檔案傳遞來源的區域。最後一個區域 (在 your-trail-name 的後面) 是追蹤的主區域。主區域是建立追蹤的所在區域。在多區域追蹤的案例中,這不同於摘要檔案傳遞來源的區域。

newestEventTime

摘要中記錄檔中所有事件中最近發生的事件UTC時間。

oldestEventTime

摘要中記錄檔中所有事件中最早的事件UTC時間。

注意

如果摘要檔案交付延遲,則 oldestEventTime 值會早於 digestStartTime 值。

previousDigestS3Bucket

前一個摘要檔案的交付 Amazon S3 儲存貯體。

previousDigestS3Object

前一個摘要檔案的 Amazon S3 物件金鑰 (也就是 Amazon S3 儲存貯體位置)。

previousDigestHashValue

前一個摘要檔案的未壓縮內容十六進位編碼雜湊值。

previousDigestHashAlgorithm

用來雜湊前一個摘要檔案的雜湊演算法名稱。

publicKeyFingerprint

符合簽署此摘要檔案所用私有金鑰的公有金鑰十六進位編碼指紋。您可以使用 AWS CLI 或來擷取摘要檔案對應時間範圍的公開金鑰 CloudTrail API。屬於傳回的公有金鑰,其指紋符合此值,可用於驗證摘要檔案。如需擷取摘要檔案之公開金鑰的詳細資訊,請參閱 AWS CLI list-public-keys命令或 CloudTrail ListPublicKeysAPI.

注意

CloudTrail 每個區域使用不同的私鑰/公鑰對。每個摘要檔案都是使用對其區域而言唯一的私有金鑰來簽署。因此,當您驗證來自特定區域的摘要檔案時,您必須在同一個區域中查詢其對應的公有金鑰。

digestSignatureAlgorithm

簽署摘要檔案所用的演算法。

logFiles.s3Bucket

日誌檔案的 Amazon S3 儲存貯體名稱。

logFiles.s3Object

目前日誌檔案的 Amazon S3 物件金鑰。

logFiles.newestEventTime

記錄檔中最近一次事件的UTC時間。此時間也對應到日誌檔案本身的時間戳記。

logFiles.oldestEventTime

記錄檔中最舊事件的UTC時間。

logFiles.hashValue

未壓縮日誌檔案內容的十六進位編碼雜湊值。

logFiles.hashAlgorithm

雜湊日誌檔案所用的雜湊演算法。

起始的摘要檔案

當日誌檔案完整性驗證開始時,會產生起始的摘要檔案。當日誌檔案完整性驗證重新開始時,也會產生起始的摘要檔案 (透過停用再重新啟動日誌檔案完整性驗證,或停止記錄再於啟用驗證的情況下重新開始記錄)。在起始的摘要檔案中,與前一個摘要檔案有關的下列欄位都會是 null:

  • previousDigestS3Bucket

  • previousDigestS3Object

  • previousDigestHashValue

  • previousDigestHashAlgorithm

  • previousDigestSignature

「空」的摘要檔案

CloudTrail 即使摘要檔案所代表的一小時期間內,您的帳戶中沒有任何API活動,仍會傳送摘要檔案。當您需要主張摘要檔案回報的一小時內沒有任何日誌檔案交付時,這很有幫助。

下列範例顯示在未發生API活動時記錄一小時的摘要檔案內容。請注意,摘要檔案內容結尾處的 logFiles:[ ] 欄位是空的。

{ "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": [] }

摘要檔案的簽章

摘要檔案簽章資訊位在 Amazon S3 摘要檔案物件的兩個物件中繼資料屬性中。每個摘要檔案都有下列中繼資料項目:

  • x-amz-meta-signature

    摘要檔案簽章的十六進位編碼值。以下為範例簽章:

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

    以下所示為產生摘要簽章所使用的演算法範例值:

    SHA256withRSA

摘要檔案鏈結

事實上,每個摘要檔都包含其先前摘要檔案的參考會啟用「鏈結」,以允許驗證工具 (例如偵測摘要檔案是否已刪除)。 AWS CLI 它還可以成功檢查指定時間範圍內的摘要檔案,從最近的第一個檔案開始。

注意

當您停用記錄檔完整性驗證時,摘要檔的鏈結會在一小時後中斷。 CloudTrail 不會針對在記錄檔完整性驗證停用的期間內傳送的記錄檔建立摘要檔。例如,如果您在 1 月 1 日中午啟用日誌檔案完整性驗證,並在 1 月 2 日中午停用它,又在 1 月 10 日中午重新啟用,則 1 月 2 日中午到 1 月 10 日中午這段期間交付的日誌檔案不會建立摘要檔案。每當您停止 CloudTrail 記錄或刪除追蹤時,這同樣適用。

如果追蹤的 S3 儲存貯 CloudTrail 體政策設定錯誤或發生非預期的服務中斷,您可能不會收到全部或部分摘要檔案。若要確認追蹤是否有任何摘要傳送錯誤,請執行get-trail-status命令並檢查LatestDigestDeliveryError參數是否有錯誤。解決傳遞問題後 (例如,透過修正儲存貯體政策), CloudTrail 將嘗試重新傳送任何遺失的摘要檔案。在重新傳遞期間,摘要檔案可能無序遞送,因此鏈結可能會暫時中斷。

如果記錄停止或刪除追蹤, CloudTrail 將會傳送最終摘要檔案。此摘要檔案可以包含任何涵蓋最近事件的剩餘日誌檔案資訊,並包括 StopLogging 事件。