CloudTrail 摘要文件结构 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CloudTrail 摘要文件结构

每个摘要文件均包含前一小时提交到您的 Simple Storage Service(Amazon S3)存储桶的日志文件的名称,这些日志文件的哈希值,以及前一日志文件的数字签名。最新摘要文件的签名存储在摘要文件对象的元数据属性中。数字签名和哈希值用于验证日志文件和摘要文件本身的完整性。

摘要文件位置

摘要文件提交到 Simple Storage Service(Amazon S3)存储桶位置,语法如下。

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

对于组织跟踪记录,存储桶位置还包括组织单位 ID,如下所示:

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

示例摘要文件内容

以下示例摘要文件包含 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" } ] }

摘要文件字段描述

下面是摘要文件中每个字段的描述:

awsAccountId

已为其发送摘要文件的 Amazon 账户 ID。

digestStartTime

摘要文件所涵盖的起始 UTC 时间范围,以日志文件交付的时间为参考。 CloudTrail这意味着,如果时间范围是 [Ta, Tb],则摘要包含在 Ta 与 Tb 之间提交给客户的所有日志文件。

digestEndTime

摘要文件所涵盖的 UTC 结束时间范围,以日志文件交付的时间为参考。 CloudTrail这意味着,如果时间范围是 [Ta, Tb],则摘要包含在 Ta 与 Tb 之间提交给客户的所有日志文件。

digestS3Bucket

已将最新摘要文件传送到的 Simple Storage Service(Amazon S3)存储桶的名称。

digestS3Object

最新摘要文件的 Simple Storage Service(Amazon S3)对象密钥(即,Simple Storage Service(Amazon S3)存储桶位置)。字符串中的前两个区域显示摘要文件是从哪个区域提交的。最后的区域(your-trail-name 之后)是跟踪的主区域。主区域是创建跟踪的区域。如果是多区域跟踪,主区域可能不是提交摘要文件的区域。

newestEventTime

摘要的日志文件中的所有事件中最近事件的 UTC 时间。

oldestEventTime

摘要的日志文件中的所有事件中最早事件的 UTC 时间。

注意

如果摘要文件延迟提交,则 oldestEventTime 的值将早于 digestStartTime 的值。

previousDigestS3Bucket

上一个摘要文件传送到的 Simple Storage Service(Amazon S3)存储桶。

previousDigestS3Object

上一个摘要文件的 Simple Storage Service(Amazon S3)对象密钥(即,Simple Storage Service(Amazon S3)存储桶位置)。

previousDigestHashValue

前一摘要文件的未压缩内容的十六进制编码哈希值。

previousDigestHashAlgorithm

用于对前一摘要文件进行哈希处理的哈希算法的名称。

publicKeyFingerprint

与用于对摘要文件进行签名的私有密钥相匹配的公有密钥的十六进制编码指纹。您可以使用 Amazon CLI 或 CloudTrail API 检索与摘要文件对应的时间范围内的公钥。对于返回的公有密钥,其指纹与此值匹配的公有密钥可用于验证摘要文件。有关检索摘要文件公钥的信息,请参阅 Amazon CLI list-public-keys命令或 CloudTrail ListPublicKeysAPI。

注意

CloudTrail 每个区域使用不同的私钥/公钥对。每个摘要文件都使用对其区域唯一的私钥进行签名。因此,当您验证来自特定区域的摘要文件时,必须从同一区域检索其相应公钥。

digestSignatureAlgorithm

用于对摘要文件进行签名的算法。

logFiles.s3Bucket

日志文件的 Simple Storage Service(Amazon S3)存储桶的名称。

logFiles.s3Object

最新日志文件的 Simple Storage Service(Amazon S3)对象密钥。

logFiles.newestEventTime

日志文件中最近事件的 UTC 时间。此时间还与日志文件本身的时间戳相对应。

logFiles.oldestEventTime

日志文件中最早事件的 UTC 时间。

logFiles.hashValue

未压缩日志文件内容的十六进制编码哈希值。

logFiles.hashAlgorithm

用于对日志文件进行哈希处理的哈希算法。

启动摘要文件

启动日志文件完整性验证时,将生成一个启动摘要文件。重新启动日志文件完整性验证(通过禁用后重新启用日志文件完整性验证,或者通过停止记录然后在启用验证时重新启动记录)时,也将生成一个启动摘要文件。在启动摘要文件中,与前一摘要文件相关的以下字段将为空:

  • previousDigestS3Bucket

  • previousDigestS3Object

  • previousDigestHashValue

  • previousDigestHashAlgorithm

  • previousDigestSignature

“空”摘要文件

CloudTrail 即使在摘要文件所代表的一小时内您的账户中没有 API 活动,也会提供摘要文件。如果需要确定在摘要文件报告的小时内未提交日志文件,这非常有用。

下面的示例说明当未出现 API 活动时记录了 1 小时的摘要文件的内容。注意,摘要文件内容最后的 logFiles:[ ] 字段为空。

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

摘要文件的签名

摘要文件的签名信息位于 Simple Storage Service(Amazon S3)摘要文件对象的两个对象元数据属性中。每个摘要文件都有下面的元数据项:

  • x-amz-meta-signature

    摘要文件签名的十六进制编码值。下面是示例签名:

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

    下面是用于生成摘要签名的算法示例值:

    SHA256withRSA

摘要文件链

每个摘要文件都包含对其先前摘要文件的引用,这一事实实现了 “链接”,允许诸如之类的 Amazon CLI 验证工具检测摘要文件是否已被删除。通过它,在指定时间范围内的摘要文件可以从最近开始往前连续检查。

注意

禁用日志文件完整性验证后,摘要文件链将在一小时后中断。 CloudTrail 不会为在禁用日志文件完整性验证期间传送的日志文件创建摘要文件。例如,如果您在 1 月 1 日中午启用日志文件完整性验证,在 1 月 2 日中午禁用它,在 1 月 10 日中午再次启用它,则不会为从 1 月 2 日中午到 1 月 10 日中午之间提交的日志文件创建摘要文件。每当您停止 CloudTrail 记录或删除跟踪时,这同样适用。

如果您的跟踪的 S3 存储桶策略配置错误或服务 CloudTrail 出现意外中断,则可能无法收到全部或部分摘要文件。要确认您的跟踪是否有任何摘要传送错误,请运行get-trail-status命令并检查LatestDigestDeliveryError参数是否有错误。在交付问题得到解决(例如,通过修复存储桶策略)后, CloudTrail 将尝试重新传送任何丢失的摘要文件。在重新交付期间,摘要文件可能会乱序交付,因此链条可能会暂时显得中断。

如果日志记录停止或跟踪被删除, CloudTrail 将提供最终的摘要文件。此摘要文件包含有关所有剩余日志文件的信息,所涵盖的事件直至(包含)StopLogging 事件。