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

CloudTrail 记录内容

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

eventTime

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

Since (自从):1.0

Optional (可选):False

eventVersion

日志事件格式的版本。当前版本为 1.08。

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

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

如果 CloudTrail 引入了新的事件类型,但事件的结构未经更改,则事件版本不会更改。

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

Since (自从):1.0

Optional (可选):False

userIdentity

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

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 CloudWatch 的 eventSourcemonitoring.amazonaws.com

Since (自从):1.0

Optional (可选):False

eventName

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

Since (自从):1.0

Optional (可选):False

awsRegion

已将请求发出到的 Amazon 区域,如 us-east-2。请参阅 CloudTrail 支持的区域

Since (自从):1.0

Optional (可选):False

sourceIPAddress

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

Since (自从):1.0

Optional (可选):False

userAgent

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

  • signin.amazonaws.com – 请求由 IAM 用户通过 Amazon Web Services Management Console 发出。

  • console.amazonaws.com 请求由根用户通过 发出。Amazon Web Services Management Console

  • 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 – 请求通过 Linux 上安装的 Amazon CLI 发出。

注意

对于由 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;超过该限制的内容将被截断。

eventVersion1.00 开始支持此字段。

Since (自从):1.0

Optional (可选):True

requestID

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

eventVersion1.01 开始支持此字段。

Since (自从):1.01

Optional (可选):False

eventID

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

Since (自从):1.01

Optional (可选):False

eventType

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

  • AwsApiCall - 调用了一个 API。

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

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

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

  • AwsCloudTrailInsight – 如果对跟踪启用了见解事件,则在 CloudTrail 检测到异常操作活动时,例如资源调配高峰或 Amazon Identity and Access Management (IAM) 操作,CloudTrail将会生成见解事件。

    AwsCloudTrailInsight 事件使用以下字段:

    • eventName

    • eventSource

    • sourceIPAddress

    • userAgent

    • userIdentity

Since (自从):1.02

Optional (可选):False

apiVersion

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

Since (自从):1.01

Optional (可选):True

managementEvent

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

  • 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 字段的示例日志,请参阅 IAM 用户指南中的 CloudTrail 日志文件中的 Amazon STS API 事件Amazon Key Management Service 开发人员指南中的记录 Amazon KMS API 调用

Since (自从):1.01

Optional (可选):True

recipientAccountId

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

Since (自从):1.02

Optional (可选):True

serviceEventDetails

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

Since (自从):1.05

Optional (可选):True

sharedEventID

CloudTrail 生成的 GUID,用于唯一标识来自发送到不同 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

  • 对于见解事件,值为 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

显示有关服务 API 调用的客户端提供的主机名的传输层安全性 (TLS) 版本、密码套件和 FQDN 的信息。内容包括下列信息。如果预期信息丢失或为空,CloudTrail 仍会记录部分 TLS 详细信息。例如,如果 TLS 版本和密码套件存在,但 HOST 标头为空,则可用 TLS 详细信息仍会记录在 CloudTrail 事件中。

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

  • tlsVersion - 请求的 TLS 版本。

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

  • clientProvidedHostHeader - 发出请求的客户端的 FQDN。

从:1.08

Optional (可选):True

见解事件的记录字段

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

sharedEventId

CloudTrail 见解事件的 sharedEventID 与 CloudTrail 事件的管理和数据类型的 sharedEventID 不同。在见解事件中,sharedEventID 是一个 GUID,它由 CloudTrail 见解生成以唯一地标识一个见解事件。sharedEventID 在开始和结束见解事件之间是通用的,有助于将两个事件联系起来以唯一地标识异常活动。您可以将 sharedEventID 视为整体见解事件 ID。

从:1.07

Optional (可选):False

insightDetails

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

从:1.07

Optional (可选):False