CloudTrail 记录管理事件、数据事件和网络活动事件的内容
本页介绍管理事件、数据事件或网络活动事件的记录内容。
记录的正文包含若干字段,可帮助您确定所请求的操作以及在何时何地发出请求。当 Optional (可选) 的值为 True 时,该字段仅在应用于服务、API 或事件类型时才存在。可选值 False 表示字段始终存在,或者其存在不依赖于服务、API 或事件类型。示例是 responseElements,它存在于可做出更改的操作(创建、更新或删除操作)的事件中。
注意
丰富事件的字段(如 eventContext)仅适用于管理事件和数据事件。它们不适用于网络事件。
eventTime-
完成请求的日期和时间 [用协调世界时(UTC)表示]。事件的时间戳来自本地主机,该主机提供进行 API 调用时所在的服务 API 终端节点。例如,在美国西部(俄勒冈)区域运行的 CreateBucket API 事件将从运行 Simple Storage Service(Amazon S3)终端节点的 Amazon 主机
s3.us-west-2.amazonaws.com上的时间获得其时间戳。总的来说,Amazon 服务使用网络时间协议 (NTP) 来同步其系统时钟。Since (自从):1.0
Optional (可选):False
eventVersion-
日志事件格式的版本。当前版本为 1.11。
eventVersion值是主要版本和次要版本,格式为major_version.minor_version。例如,您可获得1.10的eventVersion值,其中1是主要版本,10是次要版本。如果对不向后兼容的事件结构进行了更改,则 CloudTrail 会使主要版本递增。这包括删除已存在的 JSON 字段,或更改字段内容的表示方式(例如,日期格式)。如果向事件结构添加了新字段,则 CloudTrail 会使次要版本递增。如果新信息对部分或全部现有事件可用,或者新信息仅可用于新事件类型,则可能会发生这种情况。应用程序可忽略新字段,以便与事件结构的新次要版本保持兼容。
如果 CloudTrail 引入了新的事件类型,但事件的结构未经更改,则事件版本不会更改。
为确保您的应用程序能够解析事件结构,我们建议您对主要版本号执行等于比较。为了确保您的应用程序所期望的字段存在,我们还建议对次要版本执行大于或等于比较。次要版本中没有前导零。您可以将
major_version和minor_version都解读为数字,并执行比较操作。Since (自从):1.0
Optional (可选):False
userIdentity-
有关发出请求的 IAM 身份的信息。有关更多信息,请参阅 CloudTrail userIdentity 元素。
Since (自从):1.0
Optional (可选):False
eventSource-
已将请求发出到的服务。此名称通常为服务名称的简短形式,不含空格但会加上
.amazonaws.com。例如:-
Amazon CloudFormationis(
cloudformation.amazonaws.com) -
Amazon EC2 是
ec2.amazonaws.com。 -
Amazon Simple Workflow Service 是
swf.amazonaws.com。
此约定存在某些例外情况。例如,Amazon CloudWatch 的
eventSource是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 Web Services 管理控制台、Amazon 服务、Amazon 开发工具包或 Amazon CLI。
此字段的最大大小为 1 KB;超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会截断字段内容。
以下是值示例:
-
lambda.amazonaws.com– 请求通过 发出。Amazon Lambda -
aws-sdk-java– 请求通过 发出。适用于 Java 的 Amazon SDK -
aws-sdk-ruby– 请求通过 发出。适用于 Ruby 的 Amazon SDK -
aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5– 请求通过 Linux 上安装的 Amazon CLI 发出。
注意
对于由 Amazon 发起的事件,如果 CloudTrail 知道哪个 Amazon Web Services 服务 进行了调用,则此字段是调用服务的事件源(例如
ec2.amazonaws.com)。否则,此字段为AWS Internal/,其中#是用于内部目的的数字。#Since (自从):1.0
Optional (可选):True
-
errorCode-
如果请求返回错误,则为 Amazon 服务错误。有关显示此字段的示例,请参阅 示例错误代码及留言记录。
此字段的最大大小为 1 KB;超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会截断字段内容。
对于网络活动事件,当存在 VPC 端点策略违规行为时,错误代码为
VpceAccessDenied。Since (自从):1.0
Optional (可选):True
errorMessage-
如果请求返回一个错误,则为该错误的描述。此消息包含授权失败的消息。CloudTrail 将在其异常处理中捕获服务所记录的消息。有关示例,请参阅示例错误代码及留言记录。
此字段的最大大小为 1 KB;超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会截断字段内容。
对于网络活动事件,当存在 VPC 端点策略违规行为时,
errorMessage将始终显示以下消息:The request was denied due to a VPC endpoint policy。有关因违反 VPC 端点策略而导致的访问被拒绝事件的更多信息,请参阅《IAM 用户指南》中的拒绝访问错误消息示例。有关显示 VPC 端点策略违规的网络活动事件示例,请参阅本指南中的网络活动事件。注意
某些 Amazon 服务将
errorCode和errorMessage作为事件中的顶级字段提供。其他 Amazon 服务在responseElements中提供错误信息。Since (自从):1.0
Optional (可选):True
requestParameters-
与请求一起发送的参数(如果有)。这些参数记录在相应 Amazon 服务的 API 参考文档中。此字段的最大大小为 100 KB。当字段大小超过 100 KB 时,将省略
requestParameters内容。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会省略字段内容。Since (自从):1.0
Optional (可选):False
responseElements-
可做出更改的操作(创建、更新或删除操作)的响应元素(如果有)。对于
readOnlyAPI,此字段为null。如果操作不返回响应元素,则此字段是null。操作的响应元素记录在相应 Amazon Web Services 服务 的 API 参考文档中。此字段的最大大小为 100 KB。当字段大小超过 100 KB 时,将省略
reponseElements内容。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会省略字段内容。responseElements值对帮助您使用 Amazon Web Services 支持 跟踪请求很有用。x-amz-request-id和x-amz-id-2包含的信息都可帮助您使用 Amazon Web Services 支持 跟踪请求。这些值与为响应启动事件的请求而返回的服务值相同,因此您可以使用这些值匹配事件与请求。Since (自从):1.0
Optional (可选):False
-
additionalEventData -
不是请求或响应一部分的关于事件的其他数据。此字段的最大大小为 28 KB。当字段大小超过 28 KB 时,将省略
additionalEventData内容。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会省略字段内容。additionalEventData的内容是可变的。例如,对于 Amazon Web Services 管理控制台 登录事件,如果请求是由根用户或 IAM 用户使用多重身份验证 (MFA) 发出的,则additionalEventData可以包含值为Yes的MFAUsed字段。Since (自从):1.0
Optional (可选):True
requestID-
用于标识请求的值。所调用的服务生成此值。此字段的最大大小为 1 KB;超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会截断字段内容。
Since (自从):1.01
Optional (可选):True
eventID-
由 CloudTrail 生成的用来唯一标识每个事件的 GUID。您可以使用此值来标识单个事件。例如,您可以将此 ID 用作主键来从可搜索的数据库中检索日志数据。
Since (自从):1.01
Optional (可选):False
eventType-
标识生了成事件记录的事件的类型。它可以是以下值之一:
-
AwsApiCall- 调用了一个 API。 -
AwsServiceEvent– 该服务生成了一个与跟踪相关的事件。例如,如果另一个账户使用您拥有的资源发起调用,则可能出现这种情况。 -
AwsConsoleAction– 在控制台中执行了一个非 API 调用的操作。 -
AwsConsoleSignIn- 您账户(根、IAM、联合身份、SAML 或 SwitchRole)中的用户登录了 Amazon Web Services 管理控制台。 -
AwsVpceEvents– CloudTrail 网络活动事件使 VPC 端点所有者能够记录使用其 VPC 端点进行的从私有 VPC 到 Amazon Web Services 服务 的 Amazon API 调用。要记录网络活动事件,VPC 端点所有者必须为事件源启用网络活动事件。
Since (自从):1.02
Optional (可选):False
-
apiVersion-
标识与
AwsApiCalleventType值关联的 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,则已传输到发起调用的账户的事件的accountId和recipientAccountID值将相同,而已传输到拥有 KMS 密钥的账户的事件的这两个值不相同。Since (自从):1.02
Optional (可选):True
serviceEventDetails-
确定服务事件,包括触发活动的原因和结果。有关更多信息,请参阅 Amazon Web Services 服务 事件。此字段的最大大小为 100 KB。当字段大小超过 100 KB 时,将省略
serviceEventDetails内容。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会省略字段内容。Since (自从):1.05
Optional (可选):True
sharedEventID-
CloudTrail 生成的 GUID,用于唯一标识来自发送到不同 Amazon 账户的相同 Amazon 操作的 CloudTrail 事件。
例如,当账户使用属于其他账户的 Amazon KMS key 时,对于相同的操作,使用 KMS 密钥的账户和拥有 KMS 密钥的账户接收不同的 CloudTrail 事件。为此 Amazon 操作提交的每一个 CloudTrail 事件都共享相同的
sharedEventID,但也有唯一的eventID和recipientAccountID。有关更多信息,请参阅 示例 sharedEventID。
注意
仅当向多个账户提交 CloudTrail 事件时,才会存在
sharedEventID字段。如果调用方和所有者是同一 Amazon 账户,CloudTrail 只发送一个事件,并且不会存在sharedEventID字段。Since (自从):1.03
Optional (可选):True
-
vpcEndpointId -
确定从 VPC 向另一个 Amazon 服务发送请求的 VPC 端点,如 Amazon EC2。
注意
对于由 Amazon 和通过 Amazon Web Services 服务 的 VPC 发起的事件,此字段通常是
AWS Internal或服务名称。Since (自从):1.04
Optional (可选):True
-
vpcEndpointAccountId -
标识请求已遍历的相应端点的 VPC 端点所有者的 Amazon Web Services 账户 ID。
注意
对于由 Amazon 和通过 Amazon Web Services 服务 的 VPC 发起的事件,此字段通常是
AWS Internal或服务名称。从:1.09
Optional (可选):True
eventCategory-
显示事件类别。该事件类别在
LookupEvents调用中用于筛选管理事件。-
对于管理事件,值为
Management。 -
对于数据事件,值为
Data。 -
对于网络活动事件,值为
NetworkActivity。
从: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-
值为
true或false的字符串,显示事件是否源自 Amazon Web Services 管理控制台 会话。此字段不会显示出来,除非该值为true,这意味着用于进行 API 调用的客户端是代理或外部客户端。如果使用了代理客户端,则不显示tlsDetails事件字段。从:1.08
Optional (可选):True
eventContext-
此字段存在于为配置为包含资源标签键或 IAM 全局条件键的事件存储记录的丰富事件中。有关更多信息,请参阅 通过添加资源标签键和 IAM 全局条件键来丰富 CloudTrail 事件。
内容包括以下信息:
-
requestContext– 包含有关在授权过程中评估的 IAM 全局条件键的信息,包括有关主体、会话、网络和请求本身的更多详细信息。 -
tagContext– 包括与 API 调用中涉及的资源关联的标签,以及与 IAM 主体(例如角色或用户)关联的标签。有关更多信息,请参阅控制 IAM 主体进行的访问。与已删除资源相关的 API 事件将没有资源标签。
注意
eventContext字段仅存在于配置为包含资源标签键和 IAM 全局条件键的事件数据存储的事件中。传输到事件历史记录、Amazon EventBridge 且可使用 Amazon CLIlookup-events命令查看的事件将不包括eventContext字段。从:1.11
Optional (可选):True
-
edgeDeviceDetails-
显示有关作为请求目标的边缘设备的信息。目前,
S3 Outposts设备事件包括此字段。此字段的最大大小为 28 KB;超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储,仅当事件有效载荷超过 1 MB 且超过最大字段大小时,才会截断字段内容。 从:1.08
Optional (可选):True
tlsDetails-
显示服务 API 调用中使用的客户端提供主机名(通常是服务端点的 FQDN)的传输层安全性协议 (TLS) 版本、密码套件和完全限定域名 (FQDN) 相关信息。如果预期信息丢失或为空,CloudTrail 仍会记录部分 TLS 详细信息。例如,如果 TLS 版本和密码套件存在,但
HOST标头为空,则可用 TLS 详细信息仍会记录在 CloudTrail 事件中。-
tlsVersion- 请求的 TLS 版本。 -
cipherSuite- 请求的密码套件(所用安全算法的组合)。 -
clientProvidedHostHeader- 服务 API 调用中使用的客户端提供主机名,通常是服务端点的 FQDN。
注意
在某些情况下,事件记录中不存在
tlsDetails字段。-
如果 API 调用由 Amazon Web Services 服务 代表您进行,则
tlsDetails字段不存在。userIdentity元素中的invokedBy字段用于标识发出 API 调用的 Amazon Web Services 服务。 -
如果
sessionCredentialFromConsole存在且值为 true,则仅当使用外部客户端进行 API 调用时,tlsDetails才存在于事件记录中。
从:1.08
Optional (可选):True
-
最大事件大小为 1 MB 时的字段截断顺序
使用 CloudTrail 控制台、Amazon CLI 和 SDK 创建或更新事件数据存储时,您可以将最大事件大小从 256 KB 扩展到 1 MB。
扩展事件大小有助于分析事件和对事件进行故障排除,因为它允许您查看通常会被截断或省略的字段的完整内容。
当事件有效载荷超过 1 MB 时,CloudTrail 会按以下顺序截断字段:
-
annotation -
requestID -
additionalEventData -
serviceEventDetails -
userAgent -
errorCode -
eventContext -
responseElements -
requestParameters -
errorMessage
如果事件有效载荷在截断后仍然无法减少到 1 MB 以下,则会发生错误。
示例 sharedEventID
下面的示例介绍 CloudTrail 如何为相同操作提交两个事件:
-
Alice 拥有 Amazon 账户 (111111111111,并创建了 Amazon KMS key。她是此 KMS 密钥的所有者。
-
Bob 有 Amazon 账户 (222222222222)。Alice 向 Bob 提供使用该 KMS 密钥的权限。
-
每个账户都有跟踪和单独的存储桶。
-
Bob 使用该 KMS 密钥来调用
EncryptAPI。 -
CloudTrail 发送两个单独的事件。
-
一个事件发送给 Bob。该事件显示他使用了该 KMS 密钥。
-
一个事件发送给 Alice。该事件显示 Bob 使用了该 KMS 密钥。
-
这些事件具有相同的
sharedEventID,但是eventID和recipientAccountID是唯一的。
-