

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

# CloudTrail 记录管理、数据和网络活动事件的内容


本页介绍管理事件、数据事件或网络活动事件的记录内容。

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

**注意**  
丰富事件的字段（如 `eventContext`）仅适用于管理事件和数据事件。它们不适用于网络事件。

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

**`eventVersion`**  
日志事件格式的版本。当前版本是 1.11。  
该`eventVersion`值是表单中的主要版本和次要版本*major\$1version*。 *minor\$1version*。例如，您可获得 `1.10` 的 `eventVersion` 值，其中 `1` 是主要版本，`10` 是次要版本。  
CloudTrail 如果对不向后兼容的事件结构进行了更改，则会增加主版本。这包括移除已存在的 JSON 字段，或更改字段内容的表示方式（例如，日期格式）。 CloudTrail 如果更改向事件结构添加了新字段，则会增加次要版本。如果新信息对部分或全部现有事件可用，或者新信息仅可用于新事件类型，则可能会发生这种情况。应用程序可忽略新字段，以便与事件结构的新次要版本保持兼容。  
如果 CloudTrail 引入了新的事件类型，但事件的结构在其他方面保持不变，则事件版本不会改变。  
为确保您的应用程序能够解析事件结构，我们建议您对主要版本号执行等于比较。为确保您的应用程序预期的字段存在，我们还建议对次 greater-than-or-equal要版本进行-to 比较。次要版本中没有前导零。您可以将*major\$1version*和解释*minor\$1version*为数字，并执行比较操作。  
**自**：1.0  
**可选**：False

**`userIdentity`**  
有关发出请求的 IAM 身份的信息。有关更多信息，请参阅 [CloudTrail 用户身份元素](cloudtrail-event-reference-user-identity.md)。  
**自**：1.0  
**可选**：False

**`eventSource`**  
已将请求发出到的服务。此名称通常为服务名称的简短形式，不含空格但会加上 `.amazonaws.com`。例如：  
+ Amazon CloudFormation 是`cloudformation.amazonaws.com`。
+ 亚马逊 EC2 是`ec2.amazonaws.com`。
+ Amazon Simple Workflow Service 是 `swf.amazonaws.com`。
此约定存在某些例外情况。例如，适用于 Amazon `eventSource` 的 CloudWatch 为`monitoring.amazonaws.com`。  
**自**：1.0  
**可选**：False

**`eventName`**  
请求的操作（服务的 API 中的某个操作）。  
**自**：1.0  
**可选**：False

**`awsRegion`**  
向 Amazon Web Services 区域 其发出请求的，例如`us-east-2`。请参阅[CloudTrail 支持的区域](cloudtrail-supported-regions.md)。  
**自**：1.0  
**可选**：False

**`sourceIPAddress`**  
已从中发出请求的 IP 地址。对于源自服务控制台的操作，报告的地址针对的是基础客户资源而不是控制台 Web 服务器。对于中的服务 Amazon，仅显示 DNS 名称。  
对于由 Amazon发起的事件，此字段通常为 `AWS Internal/#`，其中 `#` 是供内部使用的编号。
**自**：1.0  
**可选**：False

**`userAgent`**  
发出请求的代理，例如 Amazon Web Services 管理控制台、 Amazon 服务、 Amazon SDKs 或 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`— 该请求是使用 Amazon CLI 安装在 Linux 上的。
对于源自的事件 Amazon，如果 CloudTrail 知道是谁拨打 Amazon Web Services 服务 了呼叫，则此字段是调用服务的事件源（例如，`ec2.amazonaws.com`）。否则，此字段为 `AWS Internal/#`，其中 `#` 是用于内部目的的数字。
**自**：1.0  
**可选**：True

**`errorCode`**  
如果请求返回错误，则表示 Amazon 服务错误。有关显示此字段的示例，请参阅 [示例错误代码及留言记录](cloudtrail-log-file-examples.md#error-code-and-error-message)。  
此字段的最大大小为 1 KB；超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储，仅当事件有效载荷超过 1 MB 且超过最大字段大小时，才会截断字段内容。  
对于网络活动事件，当存在 VPC 端点策略违规行为时，错误代码为 `VpceAccessDenied`。  
**自**：1.0  
**可选**：True

**`errorMessage`**  
如果请求返回一个错误，则为该错误的描述。此消息包括授权失败的消息。 CloudTrail 捕获服务在其异常处理中记录的消息。有关示例，请参阅[示例错误代码及留言记录](cloudtrail-log-file-examples.md#error-code-and-error-message)。  
此字段的最大大小为 1 KB；超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储，仅当事件有效载荷超过 1 MB 且超过最大字段大小时，才会截断字段内容。  
对于网络活动事件，当存在 VPC 端点策略违规行为时，`errorMessage` 将始终显示以下消息：`The request was denied due to a VPC endpoint policy`。有关因违反 VPC 端点策略而导致的访问被拒绝事件的更多信息，请参阅《*IAM 用户指南*》中的[拒绝访问错误消息示例](https://docs.amazonaws.cn/IAM/latest/UserGuide/troubleshoot_access-denied.html#access-denied-error-examples)。有关显示 VPC 端点策略违规的网络活动事件示例，请参阅本指南中的[网络活动事件](cloudtrail-events.md#network-event-example)。  
某些 Amazon 服务在活动中提供`errorCode`和`errorMessage`作为顶级字段。其他 Amazon 服务在 `responseElements` 中提供错误信息。
**自**：1.0  
**可选**：True

**`requestParameters`**  
与请求一起发送的参数（如果有）。这些参数记录在相应 Amazon 服务的 API 参考文档中。此字段的最大大小为 100 KB。当字段大小超过 100 KB 时，将省略 `requestParameters` 内容。对于配置为最大事件大小为 1 MB 的事件数据存储，仅当事件有效载荷超过 1 MB 且超过最大字段大小时，才会省略字段内容。  
**自**：1.0  
**可选**：False

**`responseElements`**  
可做出更改的操作（创建、更新或删除操作）的响应元素（如果有）。因为 `readOnly` APIs，此字段是`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 支持跟踪请求。这些值与为响应启动事件的请求而返回的服务值相同，因此您可以使用这些值匹配事件与请求。  
**自**：1.0  
**可选**：False

 **`additionalEventData`**   
不是请求或响应一部分的关于事件的其他数据。此字段的最大大小为 28 KB。当字段大小超过 28 KB 时，将省略 `additionalEventData` 内容。对于配置为最大事件大小为 1 MB 的事件数据存储，仅当事件有效载荷超过 1 MB 且超过最大字段大小时，才会省略字段内容。  
`additionalEventData` 的内容是可变的。例如，对于 [Amazon Web Services 管理控制台 登录事件](cloudtrail-event-reference-aws-console-sign-in-events.md)，如果请求是由根用户或 IAM 用户使用多重身份验证（MFA）发出的，则 `additionalEventData` 可以包含值为 `Yes` 的 `MFAUsed` 字段。  
**自**：1.0  
**可选**：True

**`requestID`**  
用于标识请求的值。所调用的服务生成此值。此字段的最大大小为 1 KB；超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储，仅当事件有效载荷超过 1 MB 且超过最大字段大小时，才会截断字段内容。  
**自**：1.01  
**可选**：True

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

**`eventType`**  
标识生了成事件记录的事件的类型。它可以是以下值之一：  
+ `AwsApiCall`：调用了一个 API。
+ `AwsServiceEvent`：该服务生成了一个与跟踪相关的事件。例如，如果另一个账户使用您拥有的资源发起调用，则可能出现这种情况。
+ `AwsConsoleAction`：在控制台中执行了一个非 API 调用的操作。
+ `AwsConsoleSignIn`— 您的账户（根、IAM、联合账户、SAML 或 SwitchRole）中的用户登录了。 Amazon Web Services 管理控制台
+  `AwsVpceEvents`— CloudTrail 网络活动事件使 VPC 终端节点所有者能够记录使用其 VPC 终端节点从私有 VPC 到的 Amazon API 调用 Amazon Web Services 服务。要记录网络活动事件，VPC 端点所有者必须为事件源启用网络活动事件。
**自**：1.02  
**可选**：False

**`apiVersion`**  
标识与 `AwsApiCall` `eventType` 值关联的 API 版本。  
**自**：1.01  
**可选**：True

**`managementEvent`**  
一个布尔值，标识该事件是否为管理事件。如果 `eventVersion` 为 1.06 或更高，则事件记录中将显示 `managementEvent`，并且事件类型为以下值之一：  
+ `AwsApiCall`
+ `AwsConsoleAction`
+ `AwsConsoleSignIn`
+ `AwsServiceEvent`
**自**：1.06  
**可选**：True

 **`readOnly`**   
标识此操作是否为只读操作。它可以是以下值之一：  
+ `true`：操作为只读操作（例如，`DescribeTrails`）。
+ `false`：操作为只写操作（例如，`DeleteTrail`）。
**自**：1.01  
**可选**：True

 **`resources`**   
事件中访问的资源列表。此字段可包含以下信息：  
+ 资源 ARNs
+ 资源拥有者的账户 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 事件](https://docs.amazonaws.cn/IAM/latest/UserGuide/cloudtrail-integration.html#stscloudtrailexample)*或*Amazon Key Management Service 开发人员指南**中的[记录 Amazon KMS API 调用](https://docs.amazonaws.cn/kms/latest/developerguide/logging-using-cloudtrail.html)。  
**自**：1.01  
**可选**：True

**`recipientAccountId`**  
表示已收到此事件的账户 ID。`recipientAccountID` 可能与 [CloudTrail 用户身份元素](cloudtrail-event-reference-user-identity.md) `accountId` 不同。此情况会在跨账户资源访问中发生。例如，如果一个单独的账户已使用 KMS 密钥（也称为 [Amazon KMS key](https://docs.amazonaws.cn/kms/latest/developerguide/concepts.html)）调用 [Encrypt API](https://docs.amazonaws.cn/kms/latest/developerguide/ct-encrypt.html)，则已传输到发起调用的账户的事件的 `accountId` 和 `recipientAccountID` 值将相同，而已传输到拥有 KMS 密钥的账户的事件的这两个值不相同。  
**自**：1.02  
**可选**：True

**`serviceEventDetails`**  
确定服务事件，包括触发活动的原因和结果。有关更多信息，请参阅 [Amazon Web Services 服务 事件](non-api-aws-service-events.md)。此字段的最大大小为 100 KB。当字段大小超过 100 KB 时，将省略 `serviceEventDetails` 内容。对于配置为最大事件大小为 1 MB 的事件数据存储，仅当事件有效载荷超过 1 MB 且超过最大字段大小时，才会省略字段内容。  
**自**：1.05  
**可选**：True

**`sharedEventID`**  
生成的 GUID CloudTrail ，用于唯一标识发送到不同 Amazon 账户的相同 Amazon 操作中的 CloudTrail 事件。  
例如，当一个账户使用[Amazon KMS key](https://docs.amazonaws.cn/kms/latest/developerguide/concepts.html)属于另一个账户的时，使用 KMS 密钥的账户和拥有 KMS 密钥的账户会收到针对同一操作的单独 CloudTrail 事件。为此 Amazon 动作提供的每个 CloudTrail 事件都有相同的共同`sharedEventID`点, 但也有一个独特`eventID`的`recipientAccountID`.  
有关更多信息，请参阅 [示例 sharedEventID](#shared-event-ID)。  
仅当 CloudTrail 事件传送到多个账户时，该`sharedEventID`字段才会出现。如果调用方和所有者是同一 Amazon 账户， CloudTrail 只发送一个事件，并且不会存在 `sharedEventID` 字段。
**自**：1.03  
**可选**：True

 **`vpcEndpointId`**   
标识从 VPC 向其他 Amazon 服务（例如 Amazon）发出请求的 VPC 终端节点 EC2。  
对于由的 VPC 发起 Amazon 和通过 Amazon Web Services 服务的 VPC 发起的事件，此字段通常是`AWS Internal`或服务名称。
**自**：1.04  
**可选**：True

 **`vpcEndpointAccountId`**   
标识请求已遍历的相应终端节点的 VPC 终端节点所有者的 Amazon Web Services 账户 ID。  
对于由的 VPC 发起 Amazon 和通过 Amazon Web Services 服务的 VPC 发起的事件，此字段通常是`AWS Internal`或服务名称。
**从：**1.09  
**可选**：True

**`eventCategory`**  
显示事件类别。该事件类别在 [https://docs.amazonaws.cn/awscloudtrail/latest/APIReference/API_LookupEvents.html](https://docs.amazonaws.cn/awscloudtrail/latest/APIReference/API_LookupEvents.html) 调用中用于筛选管理事件。  
+ 对于管理事件，值为 `Management`。
+ 对于数据事件，值为 `Data`。
+ 对于网络活动事件，值为 `NetworkActivity`。
**从：**1.07  
**可选**：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  
**可选**：True

**`sessionCredentialFromConsole`**  
值为`true`或的字符串`false`，用于显示事件是否源于会 Amazon Web Services 管理控制台 话。此字段不会显示出来，除非该值为 `true`，这意味着用于进行 API 调用的客户端是代理或外部客户端。如果使用了代理客户端，则不显示 `tlsDetails` 事件字段。  
**从：**1.08  
**可选**：True

**`eventContext`**  
此字段存在于为配置为包含资源标签键或 IAM 全局条件键的事件存储记录的丰富事件中。有关更多信息，请参阅 [通过添加资源标签密钥和 IAM 全局条件键来丰富 CloudTrail 事件](cloudtrail-context-events.md)。  
内容包括以下信息：  
+ `requestContext`：包含有关在授权过程中评估的 IAM 全局条件键的信息，包括有关主体、会话、网络和请求本身的更多详细信息。
+ `tagContext`：包括与 API 调用中涉及的资源关联的标签，以及与 IAM 主体（例如角色或用户）关联的标签。有关更多信息，请参阅[控制 IAM 主体进行的访问](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_iam-tags.html#access_iam-tags_control-principals)。

  与已删除资源相关的 API 事件将没有资源标签。
`eventContext` 字段仅存在于配置为包含资源标签键和 IAM 全局条件键的事件数据存储的事件中。发送到**事件历史记录**、Amazon EventBridge、可使用 Amazon CLI `lookup-events`命令查看并传送到跟踪的事件将不包括该`eventContext`字段。
**从那时起：**1.11  
**可选**：True

**`edgeDeviceDetails`**  
显示有关作为请求目标的边缘设备的信息。目前，[https://www.amazonaws.cn/s3/outposts/](https://www.amazonaws.cn/s3/outposts/) 设备事件包括此字段。此字段的最大大小为 28 KB；超过该限制的内容将被截断。对于配置为最大事件大小为 1 MB 的事件数据存储，仅当事件有效载荷超过 1 MB 且超过最大字段大小时，才会截断字段内容。  
**从：**1.08  
**可选**：True

**`tlsDetails`**  
显示有关传输层安全 (TLS) 版本、密码套件以及服务 API 调用中使用的客户端提供的主机名的完全限定域名 (FQDN) 的信息，该主机名通常是服务端点的 FQDN。 CloudTrail如果预期信息缺失或为空，仍会记录部分 TLS 详细信息。例如，如果存在 TLS 版本和密码套件，但`HOST`标头为空，则事件中仍会记录可用的 TLS 详细信息。 CloudTrail   
+ **`tlsVersion`**：请求的 TLS 版本。
+ **`cipherSuite`**：请求的密码套件（所用安全算法的组合）。
+ **`clientProvidedHostHeader`**：服务 API 调用中使用的客户端提供主机名，通常是服务端点的 FQDN。
+ **`keyExchange`**-TLS 握手中使用的密钥交换方法。此字段表示连接使用的是经典密码学还是后量子密码学。示例值包括`X25519MLKEM768`后量子 TLS 1.3、`x25519`经典 TLS 1.3 和 TLS 1.2 `secp256r1` 的值。
在某些情况下，事件记录中不存在 `tlsDetails` 字段。  
+ 如果 API 调用是由代表您进行的，则 Amazon Web Services 服务 该`tlsDetails`字段不存在。`userIdentity` 元素中的 `invokedBy` 字段用于标识发出 API 调用的 Amazon Web Services 服务 。
+ 如果 `sessionCredentialFromConsole` 存在且值为 true，则仅当使用外部客户端进行 API 调用时，`tlsDetails` 才存在于事件记录中。
**从：**1.08  
**可选**：True

## 最大事件大小为 1 MB 时的字段截断顺序


使用[CloudTrail 控制台](query-event-data-store-cloudtrail.md)、和创建或更新事件数据存储时，可以将最大事件大小从 256 KB 扩展到 1 MB SDKs。[Amazon CLI](lake-cli-manage-eds.md#lake-cli-put-event-configuration)

扩展事件大小有助于分析事件和对事件进行故障排除，因为它允许您查看通常会被截断或省略的字段的完整内容。

当事件负载超过 1 MB 时，将按以下 CloudTrail 顺序截断字段：
+ `annotation`
+ `requestID`
+ `additionalEventData`
+ `serviceEventDetails`
+ `userAgent`
+ `errorCode`
+ `eventContext`
+ `responseElements`
+ `requestParameters`
+ `errorMessage`

如果事件有效载荷在截断后仍然无法减少到 1 MB 以下，则会发生错误。

## 示例 sharedEventID


以下示例描述了如何为同一个操作 CloudTrail 传送两个事件：

1. Alice 有 Amazon 账户 (111111111111) 并创建了一个。 Amazon KMS key她是此 KMS 密钥的所有者。

1. Bob 有 Amazon 账户 (222222222222)。Alice 向 Bob 提供使用该 KMS 密钥的权限。

1. 每个账户都有跟踪和单独的存储桶。

1. Bob 使用该 KMS 密钥来调用 `Encrypt` API。

1. CloudTrail 发送两个单独的事件。
   + 一个事件发送给 Bob。该事件显示他使用了该 KMS 密钥。
   + 一个事件发送给 Alice。该事件显示 Bob 使用了该 KMS 密钥。
   + 这些事件具有相同的 `sharedEventID`，但是 `eventID` 和 `recipientAccountID` 是唯一的。

![\[sharedEventID 字段在日志中的显示方式\]](http://docs.amazonaws.cn/awscloudtrail/latest/userguide/images/event-reference-sharedEventId.png)
