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

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

CloudTrail 录制内容

记录的正文包含若干字段,可帮助您确定所请求的操作以及在何时何地发出请求。当 Optional (可选) 的值为 True 时,该字段仅在应用于服务、API 或事件类型时才存在。可选False 表示字段始终存在,或者其存在不依赖于服务、API 或事件类型。示例是 responseElements,它存在于可做出更改的操作(创建、更新或删除操作)的事件中。

CloudTrail 如果字段的内容超过最大字段大小,则会截断该字段。如果某个字段被截断,则 omitted 以值 true 显示。

eventTime

完成请求的日期和时间 [用协调世界时(UTC)表示]。事件的时间戳来自本地主机,该主机提供进行 API 调用时所在的服务 API 终端节点。例如,在美国西部(俄勒冈)地区运行的 CreateBucket API 事件将从运行 Amazon S3 终端节点 Amazon 的主机上的时间开始获取其时间戳s3.us-west-2.amazonaws.com。通常, Amazon 服务使用网络时间协议 (NTP) 来同步其系统时钟。

Since (自从):1.0

Optional (可选):False

eventVersion

日志事件格式的版本。当前版本是 1.10。

eventVersion 值是主要版本和次要版本,格式为 major_version.minor_version。例如,您可获得 1.09eventVersion 值,其中 1 是主要版本,09 是次要版本。

CloudTrail 如果对不向后兼容的事件结构进行了更改,则会增加主版本。这包括移除已存在的 JSON 字段,或更改字段内容的表示方式(例如,日期格式)。 CloudTrail 如果更改向事件结构添加了新字段,则会增加次要版本。如果新信息对部分或全部现有事件可用,或者新信息仅可用于新事件类型,则可能会发生这种情况。应用程序可忽略新字段,以便与事件结构的新次要版本保持兼容。

如果 CloudTrail 引入了新的事件类型,但事件的结构在其他方面保持不变,则事件版本不会改变。

为确保您的应用程序能够解析事件结构,我们建议您对主要版本号执行等于比较。为确保您的应用程序预期的字段存在,我们还建议对次 greater-than-or-equal要版本进行-to 比较。次要版本中没有前导零。您可以将 major_versionminor_version 都解读为数字,并执行比较操作。

Since (自从):1.0

Optional (可选):False

userIdentity

有关发出请求的 IAM 身份的信息。有关更多信息,请参阅 CloudTrail 用户身份元素

Since (自从):1.0

Optional (可选):False

eventSource

已将请求发出到的服务。此名称通常为服务名称的简短形式,不含空格但会加上 .amazonaws.com。例如:

  • Amazon CloudFormation 是cloudformation.amazonaws.com

  • Amazon EC2 是 ec2.amazonaws.com

  • Amazon Simple Workflow Service 是 swf.amazonaws.com

此约定存在某些例外情况。例如,适用于 Amazon eventSource 的 CloudWatch 为monitoring.amazonaws.com

Since (自从):1.0

Optional (可选):False

eventName

请求的操作(服务的 API 中的某个操作)。

Since (自从):1.0

Optional (可选):False

awsRegion

向 Amazon Web Services 区域 其发出请求的,例如us-east-2。请参阅 CloudTrail 支持的区域

Since (自从):1.0

Optional (可选):False

sourceIPAddress

已从中发出请求的 IP 地址。对于源自服务控制台的操作,报告的地址针对的是基础客户资源而不是控制台 Web 服务器。对于中的服务 Amazon,仅显示 DNS 名称。

注意

对于由 Amazon发起的事件,此字段通常为 AWS Internal/#,其中 # 是供内部使用的编号。

Since (自从):1.0

Optional (可选):False

userAgent

发出请求的代理,例如、 Amazon 服务 Amazon Web Services Management Console、 Amazon 软件开发工具包或。 Amazon CLI此字段的最大大小为 1 KB;超过该限制的内容将被截断。以下是值示例:

  • lambda.amazonaws.com – 请求通过 Amazon Lambda发出。

  • aws-sdk-java – 请求通过 Amazon SDK for Java发出。

  • aws-sdk-ruby – 请求通过 Amazon SDK for Ruby发出。

  • aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5— 该请求是使用 Amazon CLI 安装在 Linux 上的。

注意

对于由 Amazon发起的事件,此字段通常为 AWS Internal/#,其中 # 是供内部使用的编号。

Since (自从):1.0

Optional (可选):True

errorCode

如果请求返回错误,则表示 Amazon 服务错误。有关显示此字段的示例,请参阅 示例错误代码及留言记录。此字段的最大大小为 1 KB;超过该限制的内容将被截断。

Since (自从):1.0

Optional (可选):True

errorMessage

如果请求返回一个错误,则为该错误的描述。此消息包括授权失败的消息。 CloudTrail 捕获服务在其异常处理中记录的消息。有关示例,请参阅示例错误代码及留言记录。此字段的最大大小为 1 KB;超过该限制的内容将被截断。

注意

某些 Amazon 服务在活动中提供errorCodeerrorMessage作为顶级字段。其他 Amazon 服务在 responseElements 中提供错误信息。

Since (自从):1.0

Optional (可选):True

requestParameters

与请求一起发送的参数(如果有)。这些参数记录在相应 Amazon 服务的 API 参考文档中。此字段的最大大小为 100 KB;超过该限制的内容将被截断。

Since (自从):1.0

Optional (可选):False

responseElements

可做出更改的操作(创建、更新或删除操作)的响应元素。如果某个操作不更改状态(例如,用于获取或列出对象的请求),则忽略此元素。这些操作记录在相应 Amazon 服务的 API 参考文档中。此字段的最大大小为 100 KB;超过该限制的内容将被截断。

responseElements值对于帮助您跟踪请求很有用 Amazon Web Services Support。x-amz-request-idx-amz-id-2 包含的信息都可帮助您使用 Amazon Web Services Support跟踪请求。这些值与为响应启动事件的请求而返回的服务值相同,因此您可以使用这些值匹配事件与请求。

Since (自从):1.0

Optional (可选):False

additionalEventData

不是请求或响应一部分的关于事件的其他数据。此字段的最大大小为 28 KB;超过该限制的内容将被截断。

Since (自从):1.0

Optional (可选):True

requestID

用于标识请求的值。所调用的服务生成此值。此字段的最大大小为 1 KB;超过该限制的内容将被截断。

Since (自从):1.01

Optional (可选):True

eventID

生成的 GUID CloudTrail 用于唯一标识每个事件。您可以使用此值来标识单个事件。例如,您可以将此 ID 用作主键来从可搜索的数据库中检索日志数据。

Since (自从):1.01

Optional (可选):False

eventType

标识生了成事件记录的事件的类型。它可以是以下值之一:

  • AwsApiCall - 调用了一个 API。

  • AwsServiceEvent – 该服务生成了一个与跟踪相关的事件。例如,如果另一个账户使用您拥有的资源发起调用,则可能出现这种情况。

  • AwsConsoleAction – 在控制台中执行了一个非 API 调用的操作。

  • AwsConsoleSignIn— 您的账户(根、IAM、联合账户、SAML 或 SwitchRole)中的用户登录了。 Amazon Web Services Management Console

  • AwsCloudTrailInsight— 如果为跟踪启用了 Insights 事件,则在 CloudTrail 检测到异常操作活动(例如资源配置峰值或突发 Amazon Identity and Access Management (IAM) 操作)时 CloudTrail 生成 Insights 事件。

    AwsCloudTrailInsight 事件使用以下字段:

    • eventName

    • eventSource

    • sourceIPAddress

    • userAgent

    • userIdentity

Since (自从):1.02

Optional (可选):False

apiVersion

标识与 AwsApiCall eventType 值关联的 API 版本。

Since (自从):1.01

Optional (可选):True

managementEvent

一个布尔值,标识该事件是否为管理事件。如果 eventVersion 为 1.06 或更高,则事件记录中将显示 managementEvent,并且事件类型为以下值之一:

  • AwsApiCall

  • AwsConsoleAction

  • AwsConsoleSignIn

  • AwsServiceEvent

Since (自从):1.06

Optional (可选):True

readOnly

标识此操作是否为只读操作。它可以是以下值之一:

  • true – 操作为只读操作(例如,DescribeTrails)。

  • false – 操作为只写操作(例如,DeleteTrail)。

Since (自从):1.01

Optional (可选):True

resources

事件中访问的资源列表。此字段可包含以下信息:

  • 资源 ARN

  • 资源拥有者的账户 ID

  • 资源类型标识符,格式为:AWS::aws-service-name::data-type-name

例如,在记录 AssumeRole 事件时,resources 字段可能如下所示:

  • ARN:arn:aws:iam::123456789012:role/myRole

  • 账户 ID: 123456789012

  • 资源类型标识符:AWS::IAM::Role

有关带有该resources字段的日志示例,请参阅 Amazon STS IAM 用户指南中的 CloudTrail 日志文件中的 API 事件Amazon Key Management Service 开发人员指南中的记录 Amazon KMS API 调用

Since (自从):1.01

Optional (可选):True

recipientAccountId

表示已收到此事件的账户 ID。recipientAccountID 可能与 CloudTrail 用户身份元素 accountId 不同。此情况会在跨账户资源访问中发生。例如,如果一个单独的账户已使用 KMS 密钥(也称为 Amazon KMS key)调用 Encrypt API,则已传输到发起调用的账户的事件的 accountIdrecipientAccountID 值将相同,而已传输到拥有 KMS 密钥的账户的事件的这两个值不相同。

Since (自从):1.02

Optional (可选):True

serviceEventDetails

确定服务事件,包括触发活动的原因和结果。有关更多信息,请参阅 Amazon 服务事件。此字段的最大大小为 100 KB;超过该限制的内容将被截断。

Since (自从):1.05

Optional (可选):True

sharedEventID

生成的 GUID CloudTrail ,用于唯一标识发送到不同 Amazon 账户的相同 Amazon 操作中的 CloudTrail 事件。

例如,当一个账户使用Amazon KMS key属于另一个账户的时,使用 KMS 密钥的账户和拥有 KMS 密钥的账户会收到针对同一操作的单独 CloudTrail 事件。为此 Amazon 动作提供的每个 CloudTrail 事件都有相同的共同sharedEventID点, 但也有一个独特eventIDrecipientAccountID.

有关更多信息,请参阅 示例 sharedEventID

注意

仅当 CloudTrail 事件传送到多个账户时,该sharedEventID字段才会出现。如果来电者和所有者是同一个 Amazon 帐户,则只 CloudTrail 发送一个事件,并且该sharedEventID字段不存在。

Since (自从):1.03

Optional (可选):True

vpcEndpointId

确定从 VPC 向另一个 Amazon 服务发送请求的 VPC 终端节点,如 Amazon S3。

Since (自从):1.04

Optional (可选):True

eventCategory

显示 LookupEvents 调用中使用的事件类别。

  • 对于管理事件,值为 Management

  • 对于数据事件,值为 Data

  • 对于 Insights 事件,值为 Insight

从:1.07

Optional (可选):False

addendum

如果事件传递延迟,或者在记录事件后获得了有关现有事件的其他信息,则附录字段将显示有关事件延迟原因的信息。如果现有事件中缺少信息,则附录字段将包含缺失的信息以及缺失信息的原因。内容包括下列信息。

  • reason - 事件或其部分内容丢失的原因。值可以是以下任何一项。

    • DELIVERY_DELAY – 传送事件时出现延迟。这可能是由高网络流量、连接问题或 CloudTrail 服务问题引起的。

    • UPDATED_DATA – 事件记录中的字段丢失或值不正确。

    • SERVICE_OUTAGE— 一种将事件记录到中断 CloudTrail 但无法将事件记录到的服务 CloudTrail。这种情况极为罕见。

  • updatedFields - 由附录更新的事件记录字段。只有在原因为 UPDATED_DATA 时才提供此信息。

  • originalRequestID - 请求的原始唯一 ID。只有在原因为 UPDATED_DATA 时才提供此信息。

  • originalEventID - 原始事件 ID。只有在原因为 UPDATED_DATA 时才提供此信息。

从:1.08

Optional (可选):True

sessionCredentialFromConsole

显示事件是否源于会 Amazon Web Services Management Console 话。此字段不会显示出来,除非该值为 true,这意味着用于进行 API 调用的客户端是代理或外部客户端。如果使用了代理客户端,则不显示 tlsDetails 事件字段。

从:1.08

Optional (可选):True

edgeDeviceDetails

显示有关作为请求目标的边缘设备的信息。目前,S3 Outposts 设备事件包括此字段。此字段的最大大小为 28 KB;超过该限制的内容将被截断。

从:1.08

Optional (可选):True

tlsDetails

显示有关传输层安全 (TLS) 版本、密码套件以及服务 API 调用中使用的客户端提供的主机名的完全限定域名 (FQDN) 的信息,该主机名通常是服务端点的 FQDN。 CloudTrail如果预期信息缺失或为空,仍会记录部分 TLS 详细信息。例如,如果存在 TLS 版本和密码套件,但HOST标头为空,则事件中仍会记录可用的 TLS 详细信息。 CloudTrail 有关向哪些服务记录 TLS 详细信息的更多信息CloudTrail,请参阅支持 TLS 详细信息的服务 CloudTrail

  • tlsVersion - 请求的 TLS 版本。

  • cipherSuite - 请求的密码套件(所用安全算法的组合)。

  • clientProvidedHostHeader - 服务 API 调用中使用的客户端提供主机名,通常是服务端点的 FQDN。

注意

在某些情况下,事件记录中不存在 tlsDetails 字段。

  • 如果 API 调用是由代表您进行的,则 Amazon Web Service 该tlsDetails字段不存在。userIdentity 元素中的 invokedBy 字段用于标识发出 API 调用的 Amazon Web Service 。

  • 如果 sessionCredentialFromConsole 存在且值为 true,则仅当使用外部客户端进行 API 调用时,tlsDetails 才存在于事件记录中。

从:1.08

Optional (可选):True

Insights 事件的记录字段

以下是 Insights 事件的 JSON 结构中显示的属性,这些属性与管理或数据事件中的属性不同。

sharedEventId

A sharedEventID fo CloudTrail r Insights 事件不同于 CloudTrail事件的管理和数据类型。sharedEventID在 Insights 事件中,a sharedEventID 是 Ins CloudTrail ights 生成的 GUID,用于唯一标识 Insights 事件。 sharedEventID在 Insights 事件开始和结束 Insights 事件之间很常见,它有助于将两个事件联系起来,以唯一的方式识别异常活动。您可以将 sharedEventID 视为整体 Insights 事件 ID。

从:1.07

Optional (可选):False

insightDetails

仅限 Insights 事件。显示有关 Insights 事件的基础触发器的信息,如事件源、用户代理、统计信息、API 名称,以及该事件是 Insights 事件的开始还是结束。有关 insightDetails 数据块的内容的更多信息,请参阅 CloudTrail 见解 insightDetails 元素

从:1.07

Optional (可选):False