AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

CloudTrail 记录内容

记录的正文包含若干字段,可帮助您确定所请求的操作以及在何时何地发出请求。

eventTime

发出请求的日期和时间(用协调世界时 (UTC) 表示)。

eventVersion

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

userIdentity

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

eventSource

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

  • AWS CloudFormation 是 cloudformation.amazonaws.com

  • Amazon EC2 是 ec2.amazonaws.com

  • Amazon Simple Workflow Service 是 swf.amazonaws.com

此约定存在某些例外情况。例如,Amazon CloudWatch 的 eventSourcemonitoring.amazonaws.com

eventName

请求的操作,这是该服务的 API 中的某个操作。

awsRegion

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

sourceIPAddress

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

userAgent

通过其发出请求的代理,例如 AWS 管理控制台、AWS 服务、AWS 开发工具包或 AWS CLI。以下是值示例:

  • signin.amazonaws.com – 请求由 IAM 用户通过 AWS 管理控制台发出。

  • console.amazonaws.com – 请求由根用户通过 AWS 管理控制台发出。

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

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

  • aws-sdk-ruby – 请求通过适用于 Ruby 的 AWS 开发工具包发出。

  • aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5 – 请求通过 Linux 上安装的 AWS CLI 发出。

注意

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

errorCode

如果请求返回错误,则为 AWS 服务错误。

errorMessage

如果请求返回一个错误,则为该错误的描述。此消息包含授权失败的消息。CloudTrail 将在其异常处理中获取服务所记录的消息。有关示例,请参阅示例错误代码及留言记录

注意

某些 AWS 服务将 errorCodeerrorMessage 作为事件中的顶级字段提供。其他 AWS 服务在 responseElements 中提供错误信息。

requestParameters

与请求一起发送的参数(如果有)。这些参数记录在相应 AWS 服务的 API 参考文档中。

responseElements

可做出更改的操作(创建、更新或删除操作)的响应元素。如果某个操作不更改状态(例如,用于获取或列出对象的请求),则忽略此元素。这些操作记录在相应 AWS 服务的 API 参考文档中。

additionalEventData

不是请求或响应一部分的关于事件的其他数据。

eventVersion 1.00 开始支持此字段。

requestID

用于标识请求的值。所调用的服务生成此值。

eventVersion 1.01 开始支持此字段。

eventID

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

eventVersion 1.01 开始支持此字段。

eventType

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

  • AwsApiCall – 调用了一个 API。

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

  • AwsConsoleSignin – 您的账户(根、IAM、联合身份、SAML 或 SwitchRole)中的用户登录了 AWS 管理控制台。

eventVersion 1.02 开始支持此字段。

apiVersion

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

eventVersion 1.02 开始支持此字段。

managementEvent

一个布尔值,标识事件是否为管理事件。

eventVersion 1.05 开始支持此字段。

readOnly

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

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

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

eventVersion 1.01 中引入了此字段。仅当创建记录的服务指示 readOnly 适用时才存在。

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 日志文件中的 AWS STS API 事件,或者 AWS Key Management Service Developer Guide 中的 记录 AWS KMS API 调用

eventVersion 1.01 开始支持此字段。

recipientAccountId

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

eventVersion 1.02 开始支持此字段。

serviceEventDetails

确定服务事件,包括触发活动的原因和结果。有关更多信息,请参阅AWS 服务事件

eventVersion 1.05 开始支持此字段。

sharedEventID

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

例如,如果一个账户使用其他账户拥有的 KMS 密钥(也称为客户主密钥 (CMK)),对于相同的操作,使用 CMK 的账户和拥有 CMK 的账户接收不同的 CloudTrail 事件。为此 AWS 操作提交的每一个 CloudTrail 事件都共享相同的 sharedEventID,但也有唯一的 eventIDrecipientAccountID

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

注意

仅当向多个账户提交 CloudTrail 事件时,才会存在 sharedEventID 字段。如果调用方和所有者是同一 AWS 账户,CloudTrail 只发送一个事件,并且不会存在 sharedEventID 字段。

eventVersion 1.03 开始支持此字段。

vpcEndpointId

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

eventVersion 1.04 开始支持此字段。