

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

# 为您创建路线 AWS 账户
<a name="cloudtrail-create-and-update-a-trail"></a>

创建跟踪时，可以将事件作为日志文件持续传送到指定的 Amazon S3 存储桶。创建跟踪可提供许多好处，其中包括：
+ 超过 90 天的事件记录。
+ 通过向 Amazon Log CloudWatch s 发送日志事件来自动监控指定事件并发出警报的选项。
+ 使用 Amazon Athena 查询日志和分析 AWS 服务活动的选项。

从 2019 年 4 月 12 日起，您只能在记录事件的 AWS 区域中查看跟踪。如果您创建了[多区域](cloudtrail-multi-region-trails.md)跟踪，则该跟踪会显示在控制台中您账户中所有 AWS 区域 已[启用的](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone)跟踪中。如果您创建仅记录单个 区域中事件的日志，则可以在该 区域中查看和管理它。作为最佳实践，我们建议您创建多区域跟踪，因为它能够捕获所有已启用区域中的活动。使用 CloudTrail 控制台创建的所有跟踪均为多区域跟踪。要创建单区域跟踪，您必须使用 AWS CLI。

如果您使用 AWS Organizations，则可以创建一个跟踪来记录组织中所有 AWS 账户的事件。将在每个成员账户中创建同名的跟踪，并且来自每个跟踪的事件将传递到您指定的 Amazon S3 存储桶。

**注意**  
只有组织的管理账户或委托管理员账户才能为组织创建跟踪。为组织创建跟踪会自动启用和 Organization CloudTrail s 之间的集成。有关更多信息，请参阅 [为组织创建跟踪](creating-trail-organization.md)。  
如果您错误配置了跟踪（例如，无法访问 S3 存储桶），则 CloudTrail 会尝试将日志文件重新传送到您的 S3 存储桶，持续 30 天，这些 attempted-to-deliver事件将按标准费用收费。 CloudTrail 为避免配置错误的跟踪产生费用，您需要删除跟踪。

**Topics**
+ [

# 使用控制台创建和更新跟踪
](cloudtrail-create-and-update-a-trail-by-using-the-console.md)
+ [

# 使用创建、更新和管理跟踪 AWS CLI
](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli.md)
+ [

# 创建多个跟踪
](create-multiple-trails.md)

# 使用控制台创建和更新跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-console"></a>

您可以使用 CloudTrail 控制台创建、更新或删除您的跟踪。使用控制台创建的跟踪具有多区域属性。要创建仅在一个中记录事件的跟踪 AWS 区域，[请使用 AWS CLI](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-create-trail.md#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-single)。

您最多可以为每个区域创建 5 个跟踪。创建跟踪后， CloudTrail会自动开始将您账户中的 API 调用和相关事件记录到您指定的 Amazon S3 存储桶中。

您可以使用 CloudTrail 控制台更改跟踪的以下设置：
+ 您可以更改 S3 存储桶位置并指定前缀。
+  AWS Organizations 组织的管理账户可以将账户级跟踪转换为组织跟踪，也可以将组织跟踪转换为账户级跟踪。
+ 您可以启用或禁用 KMS 密钥加密。
+ 您可以启用或禁用[日志文件验证](cloudtrail-log-file-validation-intro.md)。日志文件验证允许您确定日志文件在 CloudTrail 传送后是被修改、删除还是未更改。默认情况下，启用日志文件验证。
+ 您可以配置跟踪以将通知发送到 Amazon SNS 主题。
+ 您可以配置跟踪以将事件发送到 CloudWatch 日志日志组。日志组和 IAM 角色都必须存在于您自己的账户中。
+ 您可以更新管理事件、数据事件、网络活动事件和 Insights 事件的设置。
+ 您可以添加或删除标签。您最多可以添加 50 个标签键对来帮助您识别您的跟踪。

使用 CloudTrail 控制台创建或更新跟踪具有以下优点。
+ 如果这是您第一次创建跟踪，则使用 CloudTrail 控制台可以查看可用的功能和选项。
+ 如果您正在配置记录数据事件的跟踪，则使用 CloudTrail 控制台可以查看可用的数据类型。有关更多信息，请参阅 [记录数据事件](logging-data-events-with-cloudtrail.md)。
+ 如果您正在配置网络活动事件的跟踪，则使用 CloudTrail 控制台可以查看可用的事件源。有关更多信息，请参阅 [记录网络活动事件](logging-network-events-with-cloudtrail.md)。

有关在中为组织创建跟踪的特定信息 AWS Organizations，请参阅[为组织创建跟踪](creating-trail-organization.md)。

**Topics**
+ [

# 使用 CloudTrail 控制台创建跟踪
](cloudtrail-create-a-trail-using-the-console-first-time.md)
+ [

# 使用 CloudTrail 控制台更新跟踪
](cloudtrail-update-a-trail-console.md)
+ [

# 使用 CloudTrail 控制台删除跟踪
](cloudtrail-delete-trails-console.md)
+ [

# 关闭跟踪的日志记录
](cloudtrail-turning-off-logging.md)

# 使用 CloudTrail 控制台创建跟踪
<a name="cloudtrail-create-a-trail-using-the-console-first-time"></a>

跟踪可以应用于您中[启用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone)的所有 AWS 区域 内容 AWS 账户，也可以应用于单个区域。适用于您启用的所有内容 AWS 区域 的跟踪 AWS 账户 称为*多区域跟踪*。作为最佳实践，我们建议您创建多区域跟踪，因为它能够捕获所有已启用区域中的活动。使用 CloudTrail 控制台创建的所有跟踪均为多区域跟踪。您只能使用 AWS CLI 或 [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_CreateTrail.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_CreateTrail.html)API 操作创建单区域跟踪。

**注意**  
创建跟踪后，您可以配置其他跟踪 AWS 服务 以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅 [AWS 与日志的服务集成 CloudTrail](cloudtrail-aws-service-specific-topics.md#cloudtrail-aws-service-specific-topics-integrations)。

**Topics**
+ [

## 使用控制台创建跟踪
](#creating-a-trail-in-the-console)
+ [

## 后续步骤
](#cloudtrail-create-a-trail-using-the-console-first-time-next-steps)

## 使用控制台创建跟踪
<a name="creating-a-trail-in-the-console"></a>

使用以下过程创建多区域跟踪。要记录单区域中的事件（不推荐），请[使用 AWS CLI](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-create-trail.md#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-single)。

**要使用创建 CloudTrail 跟踪 AWS 管理控制台**

1. 登录 AWS 管理控制台 并打开 CloudTrail 控制台，网址为[https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/)。

1. 在 CloudTrail 服务主页、“**跟踪**” 页面或 “控制面**板**” 页面的 “**跟踪**” 部分，选择 “**创建跟踪**”。

1. 在 **Create Trail** 页面上，对于 **Trail name**，键入一个跟踪名。有关更多信息，请参阅 [CloudTrail 资源、S3 存储桶和 KMS 密钥的命名要求](cloudtrail-trail-naming-requirements.md)。

1. 如果这是 AWS Organizations 组织跟踪，则可以为组织中的所有账户启用跟踪。要查看此选项，您必须使用管理账户或委托管理员账户中的用户或角色登录到控制台。要成功创建组织跟踪，请确保相应用户或角色具有[足够的权限](creating-an-organizational-trail-prepare.md#org_trail_permissions)。有关更多信息，请参阅 [为组织创建跟踪](creating-trail-organization.md)。

1. 对于 **Storage location**（存储位置，选择 **Create new S3 bucket**（创建 S3 存储桶）以创建存储桶。在创建存储桶时， CloudTrail 会创建并应用所需的存储桶策略。如果您选择创建新的 S3 存储桶，则您的 IAM 策略需要包含 `s3:PutEncryptionConfiguration` 操作的权限，因为默认情况下，存储桶已启用服务器端加密。
**注意**  
如果选择了**使用现有 S3 存储桶**，则在**跟踪日志存储桶名称**中指定一个存储桶，或选择**浏览**以选择自己账户中的存储桶。如果您想使用其他账户中的存储桶，则需要指定存储桶名称。存储桶策略必须授予对其进行写入的 CloudTrail 权限。有关手动编辑存储桶策略的信息，请参阅[适用于 Amazon S3 存储桶政策 CloudTrail](create-s3-bucket-policy-for-cloudtrail.md)。

   为了便于查找日志，请在现有存储桶中创建一个新文件夹（也称为*前缀*）来存储 CloudTrail 日志。在**前缀**字段中输入前缀。

1. 对于**日志文件 SSE-KMS 加密**，如果您希望使用 SSE-KMS 加密（而非 SSE-S3 加密）对您的日志文件和摘要文件进行加密，请选择**已启用**。默认值为**已启用**。如果您未启用 SSE-KMS 加密，则将使用 SSE-S3 加密对您的日志文件和摘要文件进行加密。有关 SSE-KMS 加密的更多信息，请参阅将[服务器端加密与 AWS Key Management Service (SSE-KMS) 一起使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。有关 SSE-S3 加密的更多信息，请参阅[配合使用服务器端加密与 Amazon S3 托管加密密钥（SSE-S3）](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)。

   **如果您启用 SSE-KMS 加密，请选择 “**新建**” 或 “现有”。** AWS KMS key在**AWS KMS 别名**中，按以下格式指定别名`alias/`*MyAliasName*。有关更多信息，请参阅[通过控制台更新资源以使用 KMS 密钥](create-kms-key-policy-for-cloudtrail-update-trail.md)。 CloudTrail 还支持 AWS KMS 多区域密钥。有关多区域密钥的更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[使用多区域密钥](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)。
**注意**  
您也可以键入其他账户的密钥 ARN。有关更多信息，请参阅 [通过控制台更新资源以使用 KMS 密钥](create-kms-key-policy-for-cloudtrail-update-trail.md)。密钥策略必须 CloudTrail 允许使用密钥加密您的日志文件和摘要文件，并允许您指定的用户读取未加密形式的日志文件或摘要文件。有关手动编辑密钥政策的信息，请参阅[为以下各项配置 AWS KMS 密钥策略 CloudTrail](create-kms-key-policy-for-cloudtrail.md)。

1. 在**其他配置**中，请配置以下内容。

   1. 对于**日志文件验证**，选择**已启用**以将日志摘要传输到您的 S3 存储桶。您可以使用摘要文件来验证您的日志文件在 CloudTrail 交付后是否没有更改。有关更多信息，请参阅 [验证 CloudTrail 日志文件完整性](cloudtrail-log-file-validation-intro.md)。

   1. 要**传送 SNS 通知**，请选择 “**启用**”，以便每次向您的存储桶传送日志时都会收到通知。 CloudTrail 在日志文件中存储多个事件。SNS 通知针对每个日志文件而不是每个事件发送。有关更多信息，请参阅 [配置 Amazon SNS 通知 CloudTrail](configure-sns-notifications-for-cloudtrail.md)。

      如果您启用了 SNS 通知，则对于**创建新的 SNS 主题**，选择**新建**创建主题，或选择**现有**使用现有的主题。如果您正在创建多区域跟踪，则来自所有已启用区域的日志文件传输的 SNS 通知将发送到您创建的单个 SNS 主题。

      如果选择 “**新建**”，则会为您 CloudTrail 指定新主题的名称，也可以键入名称。如果选择**现有**，则从下拉列表中选择一个 SNS 主题。您还可以输入来自另一个区域或来自一个具有适当权限的账户的主题的 ARN。有关更多信息，请参阅 [Amazon SNS 主题政策适用于 CloudTrail](cloudtrail-permissions-for-sns-notifications.md)。

      如果您创建一个主题，则必须订阅该主题以便获取日志文件传送的通知。您可通过 Amazon SNS 控制台进行订阅。由于通知的频率，建议您将该订阅配置为使用 Amazon SQS 队列来以编程方式处理通知。有关更多信息，请参阅 *Amazon Simple Notification Service 开发人员指南*中的 [Amazon SNS 入门](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

1. 或者，通过选择在日志中**启用**，配置 CloudTrail 为将 CloudWatch 日志文件发送到**CloudWatch 日志**。有关更多信息，请参阅 [将事件发送到 CloudWatch 日志](send-cloudtrail-events-to-cloudwatch-logs.md)。

   1. 如果您启用了与 CloudWatch 日志的集成，请选择 “**新**建” 来创建新的日志组，或者选择 “**现**有” 以使用现有的日志组。如果选择 “**新建**”，则会为您 CloudTrail 指定新日志组的名称，也可以键入名称。

   1. 如果选择**现有**，则从下拉列表中选择一个日志组。

   1. 选择 “**新**建” 创建新的 IAM 角色，以获得向日志发送 CloudWatch 日志的权限。选择**现有**以从下拉列表中选择一个现有 IAM 角色。展开**策略文档**时，将显示新角色或现有角色的策略语句。有关该角色的更多信息，请参阅[使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档](cloudtrail-required-policy-for-cloudwatch-logs.md)。
**注意**  
在您配置跟踪时，可以选择属于另一个账户的 S3 存储桶和 SNS 主题。但是，如果 CloudTrail 要将事件传送到 CloudWatch 日志日志组，则必须选择当前账户中存在的日志组。
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch 日志组。授权的管理员可以使用 AWS CLI 或 CloudTrail `CreateTrail`或 `UpdateTrail` API 操作配置 CloudWatch 日志组。

1. 对于**标签**，您最多可以添加 50 个标签键对，以帮助您对跟踪的访问进行识别、排序和控制。标签可以帮助您识别您的 CloudTrail 跟踪和包含 CloudTrail 日志文件的 Amazon S3 存储桶。然后，您可以将资源组用于您的 CloudTrail 资源。有关更多信息，请参阅[AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html)和[标签](cloudtrail-concepts.md#cloudtrail-concepts-tags)。

1. 在**选择日志事件**页面中，选择要记录的事件类型。对于**管理事件**，请执行以下操作。

   1. 对于 **API 活动**，选择您希望跟踪记录**读取**事件、**写入**事件，还是记录两者。有关更多信息，请参阅 [管理事件](logging-management-events-with-cloudtrail.md#logging-management-events)。

   1. 选择 “**排除 AWS KMS 事件**”，从您的跟踪中筛选 AWS Key Management Service (AWS KMS) 事件。默认设置是包括所有 AWS KMS 事件。

      只有在跟踪中记录管理 AWS KMS 事件时，才可使用记录或排除事件的选项。如果您选择不记录管理事件，则不会记录 AWS KMS 事件，也无法更改 AWS KMS 事件日志记录设置。

      AWS KMS 诸如`Encrypt``Decrypt`、和之类的操作`GenerateDataKey`通常会生成大量事件（超过 99%）。这些操作现在记录为**读取**事件。诸如`Disable``Delete`、和`ScheduleKey`（通常占事件量不到 0.5%）之类的低容量相关 AWS KMS 操作被记录为**写入 AWS KMS **事件。

      要排除高容量事件（如`Encrypt``Decrypt``GenerateDataKey`、和），但仍记录相关事件（例如`Disable``ScheduleKey`、`Delete`和），请选择记录**写入**管理事件，然后清除 “**排除” AWS KMS 事件**复选框。

   1. 选择**排除 Amazon RDS 数据 API 事件**以从跟踪中筛选出 Amazon Relational Database Service 数据 API 事件。默认设置是包含所有 Amazon RDS 数据 API 事件。有关 Amazon RDS 数据 API 事件的更多信息，请参阅 *Amazon RDS Aurora 用户指南*中的[使用 AWS CloudTrail记录数据 API 调用](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/logging-using-cloudtrail-data-api.html)。

1. 要记录数据事件，请选择**数据事件**。记录数据事件将收取额外费用。有关更多信息，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

1. 
**重要**  
默认情况下，步骤 12-16 用于使用高级事件选择器配置数据事件。高级事件选择器让您可以配置更多[资源类型](logging-data-events-with-cloudtrail.md#logging-data-events)，并对跟踪捕获的数据事件进行精细控制。如果您选择使用基本事件选择器，请完成 [使用基本事件选择器配置数据事件设置](#trail-data-events-basic-selectors) 中的步骤，然后返回到此程序的步骤 17。

   对于**资源类型**，选择要在其上记录数据事件的资源类型。有关可用的资源类型的更多信息，请参阅 [数据事件](logging-data-events-with-cloudtrail.md#logging-data-events)。

1. 选择日志选择器模板。您可以选择预定义的模板，也可以选择**自定义**来定义您自己的事件收集条件。

   您可以从以下预定义模板中进行选择：
   + **记录所有事件**：选择此模板以记录所有事件。
   + **仅记录读取事件**：选择此模板以仅记录读取事件。只读事件是不会更改资源状态的事件，例如 `Get*` 或 `Describe*` 事件。
   + **仅记录写入事件**：选择此模板以仅记录写入事件。写入事件可添加、更改或删除资源、属性或构件，例如 `Put*`、`Delete*` 或 `Write*` 事件。
   + **仅记录 AWS 管理控制台 事件**-选择此模板仅记录源自的事件 AWS 管理控制台。
   + **排除 AWS 服务 已启动的事件**-选择此模板可排除 AWS 服务 具有`eventType`关联角色的事件和使用 AWS 服务关联角色启动的事件 (SLRs)。`AwsServiceEvent`
**注意**  
为 S3 存储桶选择预定义的模板可以记录当前您 AWS 账户中的所有存储分段以及您在创建完跟踪后创建的任何存储分段的数据事件。它还允许记录您 AWS 账户中任何 IAM 身份执行的数据事件活动，即使该活动是在属于另一个 AWS 账户的存储桶上执行的。  
如果跟踪仅应用于一个区域，则选择记录所有 S3 存储桶的预定义模板可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。它不会在您的 AWS 账户中记录其他区域的 Amazon S3 存储桶的数据事件。  
如果您正在创建多区域跟踪，请为 Lambda 函数选择预定义模板，以便为当前 AWS 账户中的所有函数以及完成跟踪后可能在任何区域创建的任何 Lambda 函数启用数据事件记录。如果您要为单个区域创建跟踪（使用完成 AWS CLI），则此选择将启用您 AWS 账户中该区域中当前所有函数的数据事件记录，以及您在完成跟踪创建后可能在该区域创建的任何 Lambda 函数的数据事件记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。  
记录所有函数的数据事件还可以记录 AWS 账户中任何 IAM 身份执行的数据事件活动，即使该活动是在属于另一个 AWS 账户的函数上执行的。

1. （可选）在**选择器名称**中，输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称，例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器中列为 `Name`，展开 **JSON 视图**即可查看该名称。

1. 如果您选择了**自定义**，则在**高级事件选择器**中，将基于高级事件选择器字段的值生成表达式。
**注意**  
选择器不支持使用通配符，例如 `*`。要将多个值与单个条件匹配，可以使用 `StartsWith`、`EndsWith`、`NotStartsWith` 或 `NotEndsWith` 明确匹配事件字段的开头或结尾。

   1. 从下面的字段中选择。
      + **`readOnly`**：`readOnly` 可以设置为**等于**值 `true` 或 `false`。只读数据事件是不会更改资源状态的事件，例如 `Get*` 或 `Describe*` 事件。写入事件可添加、更改或删除资源、属性或构件，例如 `Put*`、`Delete*` 或 `Write*` 事件。要记录 `read` 和 `write` 两种事件，请不要添加 `readOnly` 选择器。
      + **`eventName`**：`eventName` 可以使用任何运算符。您可以使用它来包含或排除记录到的任何数据事件 CloudTrail，例如`PutBucket``GetItem`、或`GetSnapshotBlock`。
      + **`eventSource`**：要包括或排除的事件类型。此字段可以使用任意运算符。
      + **eventType**：要包括或排除的事件类型。例如，可以将此字段设置为**不等于** `AwsServiceEvent`，以排除 [AWS 服务 事件](non-api-aws-service-events.md)。有关事件类型的列表，请参阅 [CloudTrail 记录管理、数据和网络活动事件的内容](cloudtrail-event-reference-record-contents.md) 中的 [`eventType`](cloudtrail-event-reference-record-contents.md#ct-event-type)。
      + **sessionCredentialFrom控制台**-包括或排除源自 AWS 管理控制台 会话的事件。可以将此字段设置为**等于**或**不等于**值 `true`。
      + **userIdentity.arn**：包含或排除特定 IAM 身份所采取操作的事件。有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。
      + **`resources.ARN`**：您可以将任何运算符与 `resources.ARN` 配合使用，但如果您使用**等于**或**不等于**，则该值必须与您在模板中指定为 `resources.type` 的值的有效资源类型的 ARN 完全匹配。
**注意**  
您不能使用该`resources.ARN`字段筛选没有的资源类型 ARNs。

        有关数据事件资源的 ARN 格式的更多信息，请参阅《服务授权参考》**中的 [AWS 服务的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)。

   1. 对于每个字段，请选择 **\$1 条件**以根据需要添加任意数量的条件，所有条件总共可有最多 500 个指定值。例如，要从记录到事件数据存储的数据事件中排除两个 S3 存储桶的数据事件，可以将字段设置为 **resources.ARN**，设置**不始于**运算符，然后粘贴您不想为其记录事件的 S3 存储桶 ARN。

      要添加第二个 S3 存储桶，请选择 **\$1 条件**，然后重复上述说明，在 ARN 中粘贴或浏览到不同的存储桶。

      有关如何 CloudTrail 评估多个条件的信息，请参阅[如何 CloudTrail 评估一个字段的多个条件](filtering-data-events.md#filtering-data-events-conditions)。
**注意**  
对于事件数据存储上的所有选择器，最多可以有 500 个值。这包括选择器的多个值的数组，例如 `eventName`。如果所有选择器均为单个值，则最多可以向选择器添加 500 个条件。

   1. 根据需要，选择 **\$1 字段**以添加其他字段。为了避免错误，请不要为字段设置冲突或重复的值。例如，不要在一个选择器中将 ARN 指定为等于某个值，然后在另一个选择器中指定 ARN 不等于相同的值。

1. 要添加需要记录数据事件的其他资源类型，请选择**添加数据事件类型**。重复步骤 12 至此步骤，为资源类型配置高级事件选择器。

1. 要启用对数据事件的聚合，请选择一个或多个聚合模板。这些模板定义了如何汇总您的数据事件。您可以从以下模板中进行选择：

   1. **API 活动**：根据发出的 API 调用，获取 5 分钟的数据事件摘要。使用它来了解您的 API 使用模式，包括频率、调用者和来源。

   1. **资源访问权限**以获取 AWS 资源的活动模式。使用它来了解您的 AWS 资源是如何被访问的、在 5 分钟窗口内访问资源的次数、谁在访问资源以及正在执行哪些操作。

   1. **用户操作**，用于根据 IAM 委托人在您的账户中调用 API 来获取活动模式。
**注意**  
聚合适用于您的跟踪中收集的所有数据事件。

1. 要记录网络活动事件，请选择**网络活动事件**。网络活动事件使 VPC 终端节点所有者能够记录使用其 VPC 终端节点从私有 VPC 到的 AWS API 调用 AWS 服务。记录网络活动事件将收取额外费用。有关更多信息，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

   要记录网络活动事件，请执行下列操作：

   1. 从**网络活动事件源**中，选择网络活动事件的来源。

   1. 在**记录选择器模板**中，选择一个模板。您可以选择记录所有网络活动事件、记录所有网络活动访问被拒绝的事件，或者选择**自定义**来构建自定义日志选择器以筛选多个字段（例如 `eventName` 和 `vpcEndpointId`）。

   1. （可选）输入用于标识选择器的名称。选择器名称在高级事件选择器中列为 **名称**，展开 **JSON 视图**即可查看该名称。

   1. 在**高级事件选择器**中，通过为**字段**、**运算符**和**值**选择值来构建表达式。如果您使用的是预定义日志模板，则可跳过此步骤。

      1. 要排除或包括网络活动事件，您可以从控制台中的以下字段中进行选择。
         + **`eventName`**：您可以将任何运算符与 `eventName` 配合使用。您可以使用它来包含或排除任何事件（如 `CreateKey`）。
         + **`errorCode`**：您可以使用它来筛选错误代码。目前，唯一支持的 `errorCode` 是 `VpceAccessDenied`。
         +  **`vpcEndpointId`**：标识操作通过的 VPC 端点。您可以将任何运算符与 `vpcEndpointId` 配合使用。

      1. 对于每个字段，请选择 **\$1 条件**以根据需要添加任意数量的条件，所有条件总共可有最多 500 个指定值。

      1. 根据需要，选择 **\$1 字段**以添加其他字段。为了避免错误，请不要为字段设置冲突或重复的值。

   1. 要添加您想要记录网络活动事件的另一个事件源，请选择**添加网络活动事件选择器**。

   1. 或者，展开 **JSON 视图**将您的高级事件选择器作为 JSON 数据块查看。

1. 如果您希望跟踪记录**见解事件**，请选择 CloudTrail Insights 事件。

   在 **Event type**（事件类型）中，选择 **Insights events**（Insights 事件）。您必须记录**写入**管理事件，以针对 **API 调用率**记录 Insights 事件。您必须记录**读取**或**写入**管理事件，以针对 **API 错误率**记录 Insights 事件。

   CloudTrail Insights 会分析管理事件中是否存在异常活动，并在检测到异常时记录事件。默认情况下，跟踪记录不记录 Insights 事件。有关 Insights 事件的更多信息，请参阅[使用见 CloudTrail 解](logging-insights-events-with-cloudtrail.md)。记录 Insights 事件将收取额外费用。有关 CloudTrail 定价，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

   Insights 事件将传送到另一个文件夹，该文件夹以同一 S3 存储桶命名`/CloudTrail-Insight`，该**存储桶在跟踪详细信息页面的存储位置**区域中指定。 CloudTrail为您创建新的前缀。例如，如果当前目标 S3 存储桶命名为 `amzn-s3-demo-bucket/AWSLogs/CloudTrail/`，则带有新前缀的 S3 存储桶名称会命名为 `amzn-s3-demo-bucket/AWSLogs/CloudTrail-Insight/`。

1. 完成选择要记录的事件类型的操作后，选择**下一步**。

1. 在 **Review and create**（审核和重建）页面上，审核您的选择。在相关部分中选择**编辑**以更改该部分中显示的跟踪设置。在准备好创建跟踪时，选择**创建跟踪**。

1. 新跟踪出现在**跟踪**页面上。大约 5 分钟后，将 CloudTrail 发布日志文件，显示在您的账户中进行的 AWS API 调用。您可以在指定的 S3 存储桶中查看日志文件。

   如果您为跟踪启用了 Insights 事件，则最多 CloudTrail 可能需要 36 小时才能开始交付这些事件，前提是在此期间检测到异常活动。
**注意**  
CloudTrail 通常在 API 调用后的平均大约 5 分钟内传送日志。此时间并不能得到保证。有关更多信息，请参阅 [AWS CloudTrail 服务等级协议](https://aws.amazon.com/cloudtrail/sla)。  
如果您错误配置了跟踪（例如，无法访问 S3 存储桶），则 CloudTrail 会尝试将日志文件重新传送到您的 S3 存储桶，持续 30 天，这些 attempted-to-deliver事件将按标准费用收费。 CloudTrail 为避免配置错误的跟踪产生费用，您需要删除跟踪。

### 使用基本事件选择器配置数据事件设置
<a name="trail-data-events-basic-selectors"></a>

您可以使用高级事件选择器来配置所有数据事件类型以及网络活动事件。高级事件选择器允许您创建细粒度的选择器来仅记录感兴趣的事件。

如果您使用基本事件选择器来记录数据事件，则只能记录 Amazon S3 存储桶、 AWS Lambda 函数和 Amazon DynamoDB 表的数据事件。您无法使用基本事件选择器对 `eventName` 字段进行筛选。您也无法记录[网络活动事件](logging-network-events-with-cloudtrail.md)。

![\[用于跟踪中数据事件的基本事件选择器\]](http://docs.aws.amazon.com/zh_cn/awscloudtrail/latest/userguide/images/cloudtrail-data-basic-selectors.png)


按照以下程序使用基本事件选择器配置数据事件设置。

**使用基本事件选择器配置数据事件设置**

1. 在**事件**中，选择**数据事件**以记录数据事件。记录数据事件将收取额外费用。有关更多信息，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

1. 对于 Amazon S3 存储桶：

   1. 对于 **Data event source**（数据事件源），选择 **S3**。

   1. 您可以选择记录 **All current and future S3 buckets**（所有当前和未来 S3 存储桶），也可以指定单个存储桶或函数。默认情况下，记录所有当前和未来 S3 存储桶的数据事件。
**注意**  
保留默认 “**All current and future S3 存储桶” 选项将**允许您 AWS 账户中当前的所有存储分段以及您在完成跟踪创建后创建的任何存储分段的数据事件记录。它还允许记录您 AWS 账户中任何 IAM 身份执行的数据事件活动，即使该活动是在属于另一个 AWS 账户的存储桶上执行的。  
如果您要为单个区域创建跟踪（使用完成 AWS CLI），则选择 **All current 和 future S3 存储桶**可为与您的跟踪位于同一区域的所有存储桶以及您稍后在该区域创建的任何存储桶启用数据事件记录。它不会在您的 AWS 账户中记录其他区域的 Amazon S3 存储桶的数据事件。

   1. 如果保留默认值 **All current and future S3 buckets**（所有当前和未来 S3 存储桶），则选择记录 **Read**（读取）事件、**Write**（写入）事件，还是记录两者。

   1. 要选择单个存储桶，请清空 **All current and future S3 buckets**（所有当前和未来 S3 存储桶）的 **Read**（读取）和**Write**（写入）复选框。在 **Individual bucket selection**（单个存储桶选择）中，浏览要在其上记录数据事件的存储桶。通过键入所需存储桶的存储桶前缀来查找特定存储桶。您可以在此窗口中选择多个存储桶。选择**添加存储桶**，记录更多存储桶的数据事件。选择记录 **Read**（读取）事件（如 `GetObject`）、**Write**（写入）事件（如 `PutObject`）或同时记录两种事件。

      此设置优先于为各个存储桶配置的个别设置。例如，如果指定记录所有 S3 存储桶的 **Read** 事件，然后选择为数据事件日志记录添加一个特定存储桶，则所添加存储桶的 **Read** 已经是选中状态。您无法清除此选择。只能配置 **Write** 选项。

      要从日志记录中删除存储桶，请选择 **X**。

1. 要添加需要记录数据事件的其他资源类型，请选择**添加数据事件类型**。

1. 对于 Lambda 函数：

   1. 对于**数据事件源**，选择 **Lambda**。

   1. 在 **Lambda 函数**中，选择**所有区域**记录所有 Lambda 函数，或选择**将函数作为 ARN 输入**以记录特定函数上的数据事件。

      要记录您 AWS 账户中所有 Lambda 函数的数据事件，请选择**记录所有当前和将来的**函数。此设置优先于为各个函数配置的个别设置。将记录所有函数，即便这些函数未显示。
**注意**  
如果您正在创建多区域跟踪，则此选择将为您的 AWS 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您要为单个区域创建跟踪（使用完成 AWS CLI），则此选择将启用您 AWS 账户中该区域中当前所有函数的数据事件记录，以及您在完成跟踪创建后可能在该区域创建的任何 Lambda 函数的数据事件记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。  
记录所有函数的数据事件还可以记录 AWS 账户中任何 IAM 身份执行的数据事件活动，即使该活动是在属于另一个 AWS 账户的函数上执行的。

   1. 如果选择**将函数作为 ARN 输入**，则输入 Lambda 函数的 ARN。
**注意**  
如果您的账户中有超过 15,000 个 Lambda 函数，则在创建跟踪时无法在 CloudTrail 控制台中查看或选择所有函数。您仍可以选择该选项来记录所有函数，即使未显示这些函数也是如此。如果您要记录特定函数的数据事件，则可手动添加一个函数（如果您知道其 ARN）。您也可以在控制台中完成跟踪的创建，然后使用 AWS CLI 和**put-event-selectors**命令为特定 Lambda 函数配置数据事件记录。有关更多信息，请参阅 [使用管理跟踪 AWS CLI](cloudtrail-additional-cli-commands.md)。

1. 对于 DynamoDB 表：

   1. 对于 **Data event source**（数据事件源），选择 **DynamoDB**。

   1. 在 **DynamoDB table selection**（DynamoDB 表选择）中，选择 **Browse**（浏览）以选择一个表，或粘贴到您有权访问的 DynamoDB 表的 ARN 中。DynamoDB 表 ARN 使用以下格式：

      ```
      arn:partition:dynamodb:region:account_ID:table/table_name
      ```

      要添加另一个表，请选择 **Add row**（添加行），然后浏览到某个表或粘贴到您有权访问的表的 ARN 中。

1. 要为跟踪配置 Insights 事件和其他设置，请返回本主题中前面的程序 [使用控制台创建跟踪](#creating-a-trail-in-the-console)。

## 后续步骤
<a name="cloudtrail-create-a-trail-using-the-console-first-time-next-steps"></a>

创建您的跟踪后，您可以返回到该跟踪以进行更改：
+ 如果还没有，则可以配置为将日志文件发送 CloudTrail 到 Lo CloudWatch gs。有关更多信息，请参阅 [将事件发送到 CloudWatch 日志](send-cloudtrail-events-to-cloudwatch-logs.md)。
+ 创建表并将其用于在 Amazon Athena 中运行查询，以便分析 AWS 服务活动。有关更多信息，请参阅 [Amazon Athen](https://docs.aws.amazon.com/athena/latest/ug/) [a 用户 CloudTrail 指南中的在控制台中创建 CloudTrail 日志表](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html#create-cloudtrail-table-ct)。
+ 向跟踪添加自定义标签（键-值对）。
+ 要创建另一个跟踪，打开**跟踪**页面并选择**创建跟踪**。

# 使用 CloudTrail 控制台更新跟踪
<a name="cloudtrail-update-a-trail-console"></a>

本节旨在介绍如何更改跟踪设置。

要将单区域跟踪转换为多区域跟踪，或更新多区域跟踪以仅记录单个区域中的事件，您必须使用 AWS CLI。有关如何将单区域跟踪转换为多区域跟踪的更多信息，请参阅[将单区域跟踪转换为多区域跟踪](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-update-trail.md#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-convert)。有关如何更新多区域跟踪以记录单区域中的事件的详细信息，请参阅[将多区域跟踪转换为单区域跟踪](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-update-trail.md#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-reduce)。

如果您已在 Amazon Security Lake 中启用 CloudTrail 管理事件，则需要至少维护一条多区域组织跟踪，并记录两者`read`以及`write`管理事件。您不能以不符合 Security Lake 要求的方式更新符合条件的跟踪。例如，通过将跟踪更改为单区域，或者关闭 `read` 或 `write` 管理事件的日志记录。

**注意**  
CloudTrail 即使资源验证失败，也会更新成员账户中的组织跟踪。验证失败的示例包括：  
Amazon S3 存储桶策略不正确
Amazon SNS 主题策略不正确
无法传送到 CloudWatch 日志组
权限不足，无法使用 KMS 密钥进行加密
拥有 CloudTrail 权限的成员账户可以通过在 CloudTrail 控制台上查看跟踪的详细信息页面或运行 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-trail-status.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-trail-status.html)命令来查看组织跟踪的任何验证失败。

**要使用更新跟踪 AWS 管理控制台**

1. 登录 AWS 管理控制台 并打开 CloudTrail 控制台，网址为[https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/)。

1. 在导航窗格中，选择**跟踪**，然后选择跟踪名称。

1. 在 **General details**（一般详细信息）中，选择 **Edit**（编辑）以更改以下设置。您无法更改跟踪的名称。
   + **将跟踪应用到我的组织**-更改此跟踪是否为 AWS Organizations 组织跟踪。
**注意**  
只有组织的管理账户才能将组织跟踪转换为非组织跟踪，或者将非组织跟踪转换为组织跟踪。
   + **跟踪日志位置**：更改您要在其中存储此跟踪的日志的 S3 存储桶或前缀的名称。
   + **日志文件 SSE-KMS 加密**：选择此选项可启用或禁用通过 SSE-KMS 而非 SSE-S3 加密日志文件的功能。
   + **日志文件验证**：选择此选项可启用或禁用日志文件完整性验证。
   + **SNS 通知发送**：选择此选项可启用或禁用关于日志文件已传输到为跟踪指定的存储桶的 Amazon Simple Notiﬁcation Service（Amazon SNS）通知。

   1. 要将跟踪更改为 AWS Organizations 组织跟踪，您可以选择为组织中的所有账户启用跟踪。有关更多信息，请参阅 [为组织创建跟踪](creating-trail-organization.md)。

   1. 要更改 **Storage location**（存储位置）中的指定存储桶，请选择**Create new S3 bucket**（创建新 S3 存储桶）以创建存储桶。创建存储桶时， CloudTrail 会创建并应用所需的存储桶策略。如果您选择创建新的 S3 存储桶，则您的 IAM 策略需要包含 `s3:PutEncryptionConfiguration` 操作的权限，因为默认情况下，存储桶已启用服务器端加密。
**注意**  
如果选择**使用现有 S3 存储桶**，则在**跟踪日志存储桶名称**中指定一个存储桶，或选择**浏览**以选择存储桶。存储桶策略必须授予对其进行写入的 CloudTrail 权限。有关手动编辑存储桶策略的信息，请参阅[适用于 Amazon S3 存储桶政策 CloudTrail](create-s3-bucket-policy-for-cloudtrail.md)。

      为了便于查找日志，请在现有存储桶中创建一个新文件夹（也称为*前缀*）来存储 CloudTrail 日志。在**前缀**字段中输入前缀。

   1. 对于**日志文件 SSE-KMS 加密**，如果您希望使用 SSE-KMS 加密（而非 SSE-S3 加密）对您的日志文件和摘要文件进行加密，请选择**已启用**。默认值为**已启用**。如果您未启用 SSE-KMS 加密，则将使用 SSE-S3 加密对您的日志文件和摘要文件进行加密。有关 SSE-KMS 加密的更多信息，请参阅将[服务器端加密与 AWS Key Management Service (SSE-KMS) 一起使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。有关 SSE-S3 加密的更多信息，请参阅[配合使用服务器端加密与 Amazon S3 托管加密密钥（SSE-S3）](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)。

      **如果您启用 SSE-KMS 加密，请选择 “**新建**” 或 “现有”。** AWS KMS key在**AWS KMS 别名**中，按照格式指定别名`alias/`*MyAliasName*。有关更多信息，请参阅[通过控制台更新资源以使用 KMS 密钥](create-kms-key-policy-for-cloudtrail-update-trail.md)。 CloudTrail 还支持 AWS KMS 多区域密钥。有关多区域密钥的更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[使用多区域密钥](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)。
**注意**  
您也可以键入其他账户的密钥 ARN。有关更多信息，请参阅 [通过控制台更新资源以使用 KMS 密钥](create-kms-key-policy-for-cloudtrail-update-trail.md)。密钥策略必须 CloudTrail 允许使用密钥加密您的日志文件和摘要文件，并允许您指定的用户读取未加密形式的日志文件或摘要文件。有关手动编辑密钥政策的信息，请参阅[为以下各项配置 AWS KMS 密钥策略 CloudTrail](create-kms-key-policy-for-cloudtrail.md)。

   1. 对于 **Log file validation**（日志文件验证），选择 **Enabled**（已启用）以将日志摘要传输到您的 S3 存储桶。您可以使用摘要文件来验证您的日志文件在 CloudTrail 交付后是否没有更改。有关更多信息，请参阅 [验证 CloudTrail 日志文件完整性](cloudtrail-log-file-validation-intro.md)。

   1. 要**传送 SNS 通知**，请选择 “**启用**”，以便每次向您的存储桶传送日志时都会收到通知。 CloudTrail 在日志文件中存储多个事件。SNS 通知针对每个日志文件而不是每个事件发送。有关更多信息，请参阅 [配置 Amazon SNS 通知 CloudTrail](configure-sns-notifications-for-cloudtrail.md)。

      如果您启用了 SNS 通知，则对于**创建新的 SNS 主题**，选择**新建**创建主题，或选择**现有**使用现有的主题。如果您正在创建多区域跟踪，则来自所有已启用区域的日志文件传输的 SNS 通知将发送到您创建的单个 SNS 主题。

      如果选择 “**新建**”，则会为您 CloudTrail 指定新主题的名称，也可以键入名称。如果选择**现有**，则从下拉列表中选择一个 SNS 主题。您还可以输入来自另一个区域或来自一个具有适当权限的账户的主题的 ARN。有关更多信息，请参阅 [Amazon SNS 主题政策适用于 CloudTrail](cloudtrail-permissions-for-sns-notifications.md)。

      如果您创建一个主题，则必须订阅该主题以便获取日志文件传送的通知。您可通过 Amazon SNS 控制台进行订阅。由于通知的频率，建议您将该订阅配置为使用 Amazon SQS 队列来以编程方式处理通知。有关更多信息，请参阅 *Amazon Simple Notification Service 开发人员指南*中的 [Amazon SNS 入门](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

1. 在**CloudWatch 日志**中，选择**编辑**以更改将 CloudTrail 日志文件发送到 CloudWatch 日志的设置。选择 “在**CloudWatch 日志**中**启用**” 以启用发送日志文件。有关更多信息，请参阅 [将事件发送到 CloudWatch 日志](send-cloudtrail-events-to-cloudwatch-logs.md)。

   1. 如果您启用了与 CloudWatch 日志的集成，请选择 “**新**建” 来创建新的日志组，或者选择 “**现**有” 以使用现有的日志组。如果选择 “**新建**”，则会为您 CloudTrail 指定新日志组的名称，也可以键入名称。

   1. 如果选择**现有**，则从下拉列表中选择一个日志组。

   1. 选择 “**新**建” 创建新的 IAM 角色以获得向日志发送 CloudWatch 日志的权限。选择**现有**以从下拉列表中选择一个现有 IAM 角色。展开**策略文档**时，将显示新角色或现有角色的策略语句。有关该角色的更多信息，请参阅[使用 CloudWatch 日志 CloudTrail 进行监控的角色策略文档](cloudtrail-required-policy-for-cloudwatch-logs.md)。
**注意**  
在您配置跟踪时，可以选择属于另一个账户的 S3 存储桶和 SNS 主题。但是，如果 CloudTrail 要将事件传送到 CloudWatch 日志日志组，则必须选择当前账户中存在的日志组。
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch 日志组。授权的管理员可以使用 AWS CLI 或 CloudTrail `CreateTrail`或 `UpdateTrail` API 操作配置 CloudWatch 日志组。

1. 在 **Tags**（标记）中，选择 **Edit**（编辑）以更改、添加或删除跟踪上的标签。您最多可以添加 50 个标签键对，以帮助您对跟踪的访问进行识别、排序和控制。标签可以帮助您识别您的 CloudTrail 跟踪和包含 CloudTrail 日志文件的 Amazon S3 存储桶。然后，您可以将资源组用于您的 CloudTrail 资源。有关更多信息，请参阅[AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/resource-groups.html)和[标签](cloudtrail-concepts.md#cloudtrail-concepts-tags)。

1. 在 **Management events**（管理事件）中，选择 **Edit**（编辑）以更改管理事件日志记录设置。

   1. 对于 **API activity**（API 活动），选择您希望跟踪记录 **Read**（读取）事件、**Write**（写入）事件，还是记录两者。有关更多信息，请参阅 [管理事件](logging-management-events-with-cloudtrail.md#logging-management-events)。

   1. 选择 “**排除 AWS KMS 事件**”，从您的跟踪中筛选 AWS Key Management Service (AWS KMS) 事件。默认设置是包含所有 AWS KMS 事件。

      只有在跟踪中记录管理 AWS KMS 事件时，才可使用记录或排除事件的选项。如果您选择不记录管理事件，则不会记录 AWS KMS 事件，也无法更改 AWS KMS 事件记录设置。

      AWS KMS 诸如`Encrypt``Decrypt`、和之类的操作`GenerateDataKey`通常会生成大量事件（超过 99%）。这些操作现在记录为**读取**事件。诸如`Disable``Delete`、和`ScheduleKey`（通常占事件量不到 0.5%）之类的低容量相关 AWS KMS 操作被记录为**写入 AWS KMS **事件。

      如果要排除大批量事件（例如 `Encrypt`、`Decrypt` 和 `GenerateDataKey`），但仍然记录相关事件（例如 `Disable`、`Delete` 和 `ScheduleKey`），选择记录**写入**管理事件，然后清除**排除 AWS KMS 事件**复选框。

   1. 选择**排除 Amazon RDS 数据 API 事件**以从跟踪中筛选出 Amazon Relational Database Service 数据 API 事件。默认设置是包含所有 Amazon RDS 数据 API 事件。有关 Amazon RDS 数据 API 事件的更多信息，请参阅 *Amazon RDS Aurora 用户指南*中的[使用 AWS CloudTrail记录数据 API 调用](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/logging-using-cloudtrail-data-api.html)。

1. 
**重要**  
默认情况下，步骤 7-11 用于使用高级事件选择器配置数据事件。高级事件选择器让您可以配置更多[数据事件类型](logging-data-events-with-cloudtrail.md#logging-data-events)，并对跟踪捕获的数据事件进行精细控制。如果您计划记录网络活动事件，则必须使用高级事件选择器。如果您使用的是基本事件选择器，请参阅 [使用基本事件选择器更新数据事件设置](#cloudtrail-update-basic-event-selectors-console)，然后返回此过程的步骤 12。

   在 **Data events**（数据事件）中，选择 **Edit**（编辑）以更改数据事件日志记录设置。默认情况下，跟踪记录不记录数据事件。记录数据事件将收取额外费用。有关 CloudTrail 定价，请参阅 [AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

   对于**资源类型**，选择要在其上记录数据事件的资源类型。有关可用的资源类型的更多信息，请参阅 [数据事件](logging-data-events-with-cloudtrail.md#logging-data-events)。

1. 选择日志选择器模板。您可以选择预定义的模板，也可以选择**自定义**来定义您自己的事件收集条件。

   您可以从以下预定义模板中进行选择：
   + **记录所有事件**：选择此模板以记录所有事件。
   + **仅记录读取事件**：选择此模板以仅记录读取事件。只读事件是不会更改资源状态的事件，例如 `Get*` 或 `Describe*` 事件。
   + **仅记录写入事件**：选择此模板以仅记录写入事件。写入事件可添加、更改或删除资源、属性或构件，例如 `Put*`、`Delete*` 或 `Write*` 事件。
   + **仅记录 AWS 管理控制台 事件**-选择此模板仅记录源自的事件 AWS 管理控制台。
   + **排除 AWS 服务 已启动的事件**-选择此模板可排除 AWS 服务 具有`eventType`关联角色的事件和使用 AWS 服务关联角色启动的事件 (SLRs)。`AwsServiceEvent`
**注意**  
为 S3 存储桶选择预定义的模板可以记录当前您 AWS 账户中的所有存储分段以及您在创建完跟踪后创建的任何存储分段的数据事件。它还允许记录您 AWS 账户中任何用户或角色执行的数据事件活动，即使该活动是在属于其他 AWS 账户的存储桶上执行的。  
如果跟踪仅应用于一个区域，则选择记录所有 S3 存储桶的预定义模板可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。不会为您的 AWS 账户的其他区域中的 Amazon S3 存储桶记录数据事件。  
如果您要创建多区域跟踪，则选择 Lambda 函数的预定义模板可以记录当前 AWS 账户中的所有函数以及完成创建跟踪后可能在任何区域创建的任何 Lambda 函数的数据事件。如果您要为单个区域创建跟踪（使用完成 AWS CLI），则此选择将启用您 AWS 账户中该区域中当前所有函数的数据事件记录，以及您在完成跟踪创建后可能在该区域创建的任何 Lambda 函数的数据事件记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。  
记录所有功能的数据事件还可以记录 AWS 账户中任何用户或角色执行的数据事件活动，即使该活动是在属于另一个 AWS 账户的函数上执行的。

1. （可选）在**选择器名称**中，输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称，例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器中列为 `Name`，展开 **JSON 视图**即可查看该名称。

1. 如果您选择了**自定义**，则在**高级事件选择器**中，将基于高级事件选择器字段的值生成表达式。
**注意**  
选择器不支持使用通配符，例如 `*`。要将多个值与单个条件匹配，可以使用 `StartsWith`、`EndsWith`、`NotStartsWith` 或 `NotEndsWith` 明确匹配事件字段的开头或结尾。

   1. 从下面的字段中选择。
      + **`readOnly`**：`readOnly` 可以设置为**等于**值 `true` 或 `false`。只读数据事件是不会更改资源状态的事件，例如 `Get*` 或 `Describe*` 事件。写入事件可添加、更改或删除资源、属性或构件，例如 `Put*`、`Delete*` 或 `Write*` 事件。要记录 `read` 和 `write` 两种事件，请不要添加 `readOnly` 选择器。
      + **`eventName`**：`eventName` 可以使用任何运算符。您可以使用它来包含或排除记录到的任何数据事件 CloudTrail，例如`PutBucket``GetItem`、或`GetSnapshotBlock`。
      + **`eventSource`**：要包括或排除的事件类型。此字段可以使用任意运算符。
      + **eventType**：要包括或排除的事件类型。例如，可以将此字段设置为**不等于** `AwsServiceEvent`，以排除 [AWS 服务 事件](non-api-aws-service-events.md)。有关事件类型的列表，请参阅 [CloudTrail 记录管理、数据和网络活动事件的内容](cloudtrail-event-reference-record-contents.md) 中的 [`eventType`](cloudtrail-event-reference-record-contents.md#ct-event-type)。
      + **sessionCredentialFrom控制台**-包括或排除源自 AWS 管理控制台 会话的事件。可以将此字段设置为**等于**或**不等于**值 `true`。
      + **userIdentity.arn**：包含或排除特定 IAM 身份所采取操作的事件。有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。
      + **`resources.ARN`**：您可以将任何运算符与 `resources.ARN` 配合使用，但如果您使用**等于**或**不等于**，则该值必须与您在模板中指定为 `resources.type` 的值的有效资源类型的 ARN 完全匹配。
**注意**  
您不能使用该`resources.ARN`字段筛选没有的资源类型 ARNs。

        有关数据事件资源的 ARN 格式的更多信息，请参阅《服务授权参考》**中的 [AWS 服务的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)。

   1. 对于每个字段，请选择 **\$1 条件**以根据需要添加任意数量的条件，所有条件总共可有最多 500 个指定值。例如，要从记录到事件数据存储的数据事件中排除两个 S3 存储桶的数据事件，可以将字段设置为 **resources.ARN**，设置**不始于**运算符，然后粘贴您不想为其记录事件的 S3 存储桶 ARN。

      要添加第二个 S3 存储桶，请选择 **\$1 条件**，然后重复上述说明，在 ARN 中粘贴或浏览到不同的存储桶。

      有关如何 CloudTrail 评估多个条件的信息，请参阅[如何 CloudTrail 评估一个字段的多个条件](filtering-data-events.md#filtering-data-events-conditions)。
**注意**  
对于事件数据存储上的所有选择器，最多可以有 500 个值。这包括选择器的多个值的数组，例如 `eventName`。如果所有选择器均为单个值，则最多可以向选择器添加 500 个条件。

   1. 根据需要，选择 **\$1 字段**以添加其他字段。为了避免错误，请不要为字段设置冲突或重复的值。例如，不要在一个选择器中将 ARN 指定为等于某个值，然后在另一个选择器中指定 ARN 不等于相同的值。

1. 要添加需要记录数据事件的其他资源类型，请选择**添加数据事件类型**。重复步骤 3 至此步骤，为资源类型配置高级事件选择器。

1. 在**网络活动事件**中，选择**编辑**以更改网络活动事件记录设置。默认情况下，跟踪不记录网络活动事件。记录网络活动事件将收取额外费用。有关更多信息，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

   要记录网络活动事件，请执行下列操作：

   1. 从**网络活动事件源**中，选择网络活动事件的来源。

   1. 在**记录选择器模板**中，选择一个模板。您可以选择记录所有网络活动事件、记录所有网络活动访问被拒绝的事件，或者选择**自定义**来构建自定义日志选择器以筛选多个字段（例如 `eventName` 和 `vpcEndpointId`）。

   1. （可选）输入用于标识选择器的名称。选择器名称在高级事件选择器中列为 **名称**，展开 **JSON 视图**即可查看该名称。

   1. 在**高级事件选择器**中，通过为**字段**、**运算符**和**值**选择值来构建表达式。如果您使用的是预定义日志模板，则可跳过此步骤。

      1. 要排除或包括网络活动事件，您可以从控制台中的以下字段中进行选择。
         + **`eventName`**：您可以将任何运算符与 `eventName` 配合使用。您可以使用它来包含或排除任何事件（如 `CreateKey`）。
         + **`errorCode`**：您可以使用它来筛选错误代码。目前，唯一支持的 `errorCode` 是 `VpceAccessDenied`。
         +  **`vpcEndpointId`**：标识操作通过的 VPC 端点。您可以将任何运算符与 `vpcEndpointId` 配合使用。

      1. 对于每个字段，请选择 **\$1 条件**以根据需要添加任意数量的条件，所有条件总共可有最多 500 个指定值。

      1. 根据需要，选择 **\$1 字段**以添加其他字段。为了避免错误，请不要为字段设置冲突或重复的值。

   1. 要添加您想要记录网络活动事件的另一个事件源，请选择**添加网络活动事件选择器**。

   1. 或者，展开 **JSON 视图**将您的高级事件选择器作为 JSON 数据块查看。

1. 如果您希望跟踪记录 **Insights 事件**，请**在 CloudTrail Insights 事件中选择 “编辑”**。

   在**事件类型**中，选择 **Insights 事件**。

    在 **Insights 事件**中，选择 **API 调用率**和/或 **API 错误率**。您必须记录**写入**管理事件，以针对 **API 调用率**记录 Insights 事件。您必须记录**读取**或**写入**管理事件，以针对 **API 错误率**记录 Insights 事件。

   CloudTrail Insights 会分析管理事件中是否存在异常活动，并在检测到异常时记录事件。默认情况下，跟踪记录不记录 Insights 事件。有关 Insights 事件的更多信息，请参阅[使用见 CloudTrail 解](logging-insights-events-with-cloudtrail.md)。记录 Insights 事件将收取额外费用。有关 CloudTrail 定价，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

   Insights 事件将传送到另一个文件夹，该文件夹以同一 S3 存储桶命名`/CloudTrail-Insight`，该**存储桶在跟踪详细信息页面的存储位置**区域中指定。 CloudTrail为您创建新的前缀。例如，如果当前目标 S3 存储桶命名为 `amzn-s3-demo-bucket/AWSLogs/CloudTrail/`，则带有新前缀的 S3 存储桶名称会命名为 `amzn-s3-demo-bucket/AWSLogs/CloudTrail-Insight/`。

1. 当您更改完跟踪上的设置后，选择 **Update trail**（更新跟踪）。

## 使用基本事件选择器更新数据事件设置
<a name="cloudtrail-update-basic-event-selectors-console"></a>

您可以使用高级事件选择器来配置所有数据事件类型以及网络活动事件。高级事件选择器允许您创建细粒度的选择器来仅记录感兴趣的事件。

如果您使用基本事件选择器来记录数据事件，则只能记录 Amazon S3 存储桶、 AWS Lambda 函数和 Amazon DynamoDB 表的数据事件。您无法使用基本事件选择器对 `eventName` 字段进行筛选。您也无法记录[网络活动事件](logging-network-events-with-cloudtrail.md)。

![\[用于跟踪中数据事件的基本事件选择器\]](http://docs.aws.amazon.com/zh_cn/awscloudtrail/latest/userguide/images/cloudtrail-data-basic-selectors.png)


按照以下程序使用基本事件选择器配置数据事件设置。

1. 在 **Data events**（数据事件）中，选择 **Edit**（编辑）以更改数据事件日志记录设置。使用基本事件选择器，您可以为 Amazon S3 存储桶、 AWS Lambda 函数、Dynamo DBtables 或这些资源的组合指定日志数据事件。其他数据事件资源类型可通过高级事件选择器获得支持。默认情况下，跟踪记录不记录数据事件。记录数据事件将收取额外费用。有关更多信息，请参阅 [数据事件](logging-data-events-with-cloudtrail.md#logging-data-events)。有关 CloudTrail 定价，请参阅 [AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)。

   对于 Amazon S3 存储桶：

   1. 对于 **Data event source**（数据事件源），选择 **S3**。

   1. 您可以选择记录 **All current and future S3 buckets**（所有当前和未来 S3 存储桶），也可以指定单个存储桶或函数。默认情况下，记录所有当前和未来 S3 存储桶的数据事件。
**注意**  
保留默认 “**All current and future S3 存储桶” 选项将**允许您 AWS 账户中当前的所有存储分段以及您在完成跟踪创建后创建的任何存储分段的数据事件记录。它还允许记录您 AWS 账户中任何用户或角色执行的数据事件活动，即使该活动是在属于其他 AWS 账户的存储桶上执行的。  
如果跟踪仅应用于一个区域，则选择 **All current and future S3 buckets**（所有当前和未来 S3 存储桶）可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。它不会在您的 AWS 账户中记录其他区域的 Amazon S3 存储桶的数据事件。

   1. 如果保留默认值 **All current and future S3 buckets**（所有当前和未来 S3 存储桶），则选择记录 **Read**（读取）事件、**Write**（写入）事件，还是记录两者。

   1. 要选择单个存储桶，请清空 **All current and future S3 buckets**（所有当前和未来 S3 存储桶）的 **Read**（读取）和**Write**（写入）复选框。在 **Individual bucket selection**（单个存储桶选择）中，浏览要在其上记录数据事件的存储桶。要查找特定存储桶，键入所需存储桶的存储桶前缀。您可以在此窗口中选择多个存储桶。选择**添加存储桶**，记录更多存储桶的数据事件。选择记录 **Read**（读取）事件（如 `GetObject`）、**Write**（写入）事件（如 `PutObject`）或同时记录两种事件。

      此设置优先于为各个存储桶配置的个别设置。例如，如果指定记录所有 S3 存储桶的 **Read** 事件，然后选择为数据事件日志记录添加一个特定存储桶，则所添加存储桶的 **Read** 已经是选中状态。您无法清除此选择。只能配置 **Write** 选项。

      要从日志记录中删除存储桶，请选择 **X**。

1. 要添加需要记录数据事件的其他资源类型，请选择**添加数据事件类型**。

1. 对于 Lambda 函数：

   1. 对于**数据事件源**，选择 **Lambda**。

   1. 在 **Lambda 函数**中，选择**所有区域**记录所有 Lambda 函数，或选择**将函数作为 ARN 输入**以记录特定函数上的数据事件。

      要记录您 AWS 账户中所有 Lambda 函数的数据事件，请选择**记录所有当前和将来的**函数。此设置优先于为各个函数配置的个别设置。将记录所有函数，即便这些函数未显示。
**注意**  
如果您正在创建多区域跟踪，则此选项将启用您 AWS 账户中当前所有函数的数据事件记录，以及您在完成跟踪创建后可能在任何区域创建的任何 Lambda 函数的数据事件记录。如果您要为单个区域创建跟踪（使用完成 AWS CLI），则此选择将启用您 AWS 账户中该区域中当前所有函数的数据事件记录，以及您在完成跟踪创建后可能在该区域创建的任何 Lambda 函数的数据事件记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。  
记录所有功能的数据事件还可以记录 AWS 账户中任何用户或角色执行的数据事件活动，即使该活动是在属于另一个 AWS 账户的函数上执行的。

   1. 如果选择**将函数作为 ARN 输入**，则输入 Lambda 函数的 ARN。
**注意**  
如果您的账户中有超过 15,000 个 Lambda 函数，则在创建跟踪时无法在 CloudTrail 控制台中查看或选择所有函数。您仍可以选择该选项来记录所有函数，即使未显示这些函数也是如此。如果您要记录特定函数的数据事件，则可手动添加一个函数（如果您知道其 ARN）。您也可以在控制台中完成跟踪的创建操作，然后使用 AWS CLI 和 **put-event-selectors** 命令为特定 Lambda 函数配置数据事件日志记录。有关更多信息，请参阅 [使用管理跟踪 AWS CLI](cloudtrail-additional-cli-commands.md)。

1. 要添加需要记录数据事件的其他资源类型，请选择**添加数据事件类型**。

1. 对于 DynamoDB 表：

   1. 对于 **Data event source**（数据事件源），选择 **DynamoDB**。

   1. 在 **DynamoDB table selection**（DynamoDB 表选择）中，选择 **Browse**（浏览）以选择一个表，或粘贴到您有权访问的 DynamoDB 表的 ARN 中。DynamoDB 表 ARN 采用以下格式：

      ```
      arn:partition:dynamodb:region:account_ID:table/table_name
      ```

      要添加另一个表，请选择 **Add row**（添加行），然后浏览到某个表或粘贴到您有权访问的表的 ARN 中。

1. 要为跟踪配置 Insights 事件和其他设置，请返回本主题中前面的程序 [使用 CloudTrail 控制台更新跟踪](#cloudtrail-update-a-trail-console)。

# 使用 CloudTrail 控制台删除跟踪
<a name="cloudtrail-delete-trails-console"></a>

您可以使用 CloudTrail 控制台删除跟踪。如果组织的管理账户或委托管理员账户删除了组织跟踪，则该跟踪将从该组织的所有成员账户中移除。

**重要**  
 虽然删除 CloudTrail 跟踪是不可逆的操作，但 CloudTrail 不会删除该跟踪的 Amazon S3 存储桶、Amazon S3 存储桶本身或跟踪向其传递事件的 CloudWatch 日志组中的日志文件。删除多区域跟踪将停止记录您 AWS 账户启用的所有 AWS 区域中的事件。删除单区域跟踪将仅停止记录该区域中的事件。即使其他区域中的跟踪与已删除的跟踪具有相同的名称，也不会停止记录其他区域中的事件。  
有关账户关闭和 CloudTrail 跟踪删除的信息，请参阅[AWS 账户 封闭和步道](cloudtrail-account-closure.md)。

如果您已在 Amazon Security Lake 中启用 CloudTrail 管理事件，则需要至少维护一条多区域组织跟踪，并记录两者`read`以及`write`管理事件。如果跟踪是您拥有的唯一符合此要求的跟踪，则无法将其删除，除非您在 Security Lake 中关闭 CloudTrail 管理事件。

**使用 CloudTrail 控制台删除跟踪**

1. 登录 AWS 管理控制台 并打开 CloudTrail 控制台，网址为[https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/)。

1. 打开 CloudTrail 控制台的 T **rail** s 页面。

1. 选择跟踪名称。

1. 在跟踪详细信息页面顶部，选择 **Delete**（删除）。

1. 在提示您确认时，选择 **Delete**（删除）以永久删除该跟踪。从跟踪记录列表中删除该跟踪记录。已经传输到 Amazon S3 存储桶的日志文件不会被删除，并且会继续产生 S3 费用。
**注意**  
发送到 Amazon S3 存储桶的内容可能包含客户内容。有关删除敏感数据的更多信息，请参阅《*Amazon S3 用户指南*》中的[清空存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html)和[删除存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)。

# 关闭跟踪的日志记录
<a name="cloudtrail-turning-off-logging"></a>

创建跟踪时，系统会自动启用日志记录。您可以从跟踪的详细信息页关闭跟踪的记录。

**注意**  
关闭日志记录功能后，现有日志仍存储在跟踪的 Amazon S3 存储桶中，并会继续产生 S3 费用。有关 S3 定价的信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

**停止记录后的事件传送**  
关闭跟踪日志记录后，该跟踪仍可以接收在关闭日志记录之前发生的事件。事件延迟的原因有很多，包括网络流量大、连接问题、服务中断或现有事件的更新。 CloudTrail 使用最近关闭日志记录的时间来确定是否传送延迟事件，而不是事件发生时跟踪的日志状态。因此，在上次关闭日志之前发生的延迟事件仍然可以传送到跟踪中。有关延迟事件传送的更多信息，请参阅中的`addendum`字段[CloudTrail 记录管理、数据和网络活动事件的内容](cloudtrail-event-reference-record-contents.md)。  
此外，在关闭日志记录后，不会针对传送到跟踪的延迟事件对事件选择器和高级事件选择器进行评估。这意味着，无论跟踪的事件选择器配置如何，跟踪都可以接收在关闭日志之前发生的任何类型的事件。

**使用 CloudTrail 控制台关闭跟踪记录**

1. 登录 AWS 管理控制台 并打开 CloudTrail 控制台，网址为[https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/)。

1. 在导航窗格中，选择 **Trails**（跟踪记录），然后选择跟踪记录的名称。

1. 在跟踪详细信息页面顶部，选择 **Stop logging**（停止日志记录）以关闭该跟踪的日志记录。

1. 当系统提示您确认时，选择**停止记录**。 CloudTrail停止记录该跟踪的活动。

1. 要恢复该跟踪的日志记录，在跟踪配置页面上选择 **Start logging**（开始日志记录）。

# 使用创建、更新和管理跟踪 AWS CLI
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli"></a>

您可以使用 AWS CLI 来创建、更新和管理您的跟踪。使用时 AWS CLI，请记住您的命令在为您的个人资料配置的 AWS 区域中运行。如果您想要在不同的区域中运行命令，可以为配置文件更改默认区域，或者与命令一起使用 **--region** 参数。

**注意**  
您需要 AWS 命令行工具才能运行本主题中的 AWS Command Line Interface (AWS CLI) 命令。确保您 AWS CLI 安装的是最新版本的。有关更多信息，请参阅 [AWS Command Line Interface 《用户指南》](https://docs.aws.amazon.com/cli/latest/userguide/)。要获取命令行 CloudTrail AWS CLI 命令的帮助，请键入`aws cloudtrail help`。

## 常用的跟踪创建、管理和状态命令
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-options"></a>

中用于创建和更新跟踪的一些比较常用的命令 CloudTrail 包括：
+ **[create-trail](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-create-trail.md)**：创建跟踪。
+ **[update-trail](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-update-trail.md)**：更改现有跟踪的配置。
+ **[add-tags](cloudtrail-additional-cli-commands.md#cloudtrail-additional-cli-commands-add-tag)**：向现有跟踪添加一个或多个标签（键值对）。
+ **[remove-tags](cloudtrail-additional-cli-commands.md#cloudtrail-additional-cli-commands-remove-tag)**：从跟踪中删除一个或多个标签。
+ **[list-tags](cloudtrail-additional-cli-commands.md#cloudtrail-additional-cli-commands-list-tags)**：返回与跟踪关联的标签的列表。
+ **[put-event-selectors](cloudtrail-additional-cli-commands.md#configuring-adv-event-selector-examples)**：添加或修改跟踪的时间选择器。
+ **[put-insight-selectors](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_PutInsightSelectors.html)**：为现有跟踪添加或修改见解事件选择器，并启用或禁用 Insights 事件。
+ **[start-logging](cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-create-trail.md#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-single-start-logging)**：开始使用跟踪记录事件。
+ **[stop-logging](cloudtrail-additional-cli-commands.md#cloudtrail-start-stop-logging-cli-commands)**：停止使用跟踪记录事件。
+ **[delete-trail](cloudtrail-additional-cli-commands.md#cloudtrail-delete-trail-cli)**：删除跟踪。该命令不会删除含有该跟踪的日志文件的 Amazon S3 存储桶（如果有）。
+ **[describe-trails](cloudtrail-additional-cli-commands.md#cloudtrail-additional-cli-commands-retrieve)**返回有关某个 AWS 区域中路径的信息。
+ **[get-trail](cloudtrail-additional-cli-commands.md#cloudtrail-additional-cli-commands-retrieve)**：返回跟踪的设置信息。
+ **[get-trail-status](cloudtrail-additional-cli-commands.md#cloudtrail-additional-cli-commands-retrieve)**：返回有关跟踪的当前状态的信息。
+ **[get-event-selectors](cloudtrail-additional-cli-commands.md#configuring-adv-event-selector-examples)**：返回有关为跟踪配置的事件选择器的信息。
+ **[get-insight-selectors](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_GetInsightSelectors.html)**：返回有关为跟踪配置的 Insights 事件选择器的信息。

### 支持的创建和更新跟踪记录的命令：create-trail 和 update-trail
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-ctut"></a>

`create-trail` 和 `update-trail` 命令提供用于创建和管理跟踪记录的各种功能，包括：
+ 创建跨区域接收日志的跟踪，或使用 `--is-multi-region-trail` 选项更新跟踪。在大多数情况下，您应该创建记录所有 AWS 区域事件的跟踪。
+ 使用**--is-organization-trail**选项创建用于接收组织中所有 AWS 账户日志的跟踪。
+ 使用 `--no-is-multi-region-trail` 选项将多区域跟踪转换为单区域跟踪。
+ 使用 `--kms-key-id` 选项启用或禁用日志文件加密。该选项指定了您已经创建的 AWS KMS 密钥，并且您已将允许加密日志的策略附加 CloudTrail 到该密钥。有关更多信息，请参阅 [使用启用和禁用 CloudTrail 日志文件、摘要文件和事件数据存储的加密 AWS CLI](cloudtrail-log-file-encryption-cli.md)。
+ 使用 `--enable-log-file-validation` 和 `--no-enable-log-file-validation` 选项启用或禁用日志文件验证。有关更多信息，请参阅 [验证 CloudTrail 日志文件完整性](cloudtrail-log-file-validation-intro.md)。
+ 指定 CloudWatch 日志组和角色，以便 CloudTrail 可以将事件传送到 CloudWatch 日志日志组。有关更多信息，请参阅 [使用 Amazon CloudTrail 日志监控 CloudWatch 日志文件](monitor-cloudtrail-log-files-with-cloudwatch-logs.md)。

### 已弃用的命令：create-subscription 和 update-subscription
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-subs"></a>

**重要**  
`create-subscription` 和 `update-subscription` 命令曾用来创建和更新跟踪记录，但已弃用。请勿使用这些命令。它们不提供用于创建和管理跟踪记录的完整功能。  
如果您配置了使用其中一个命令或同时使用这两个命令的自动执行，我们建议您更新您的代码或脚本以使用支持的命令，例如 **create-trail**。

# 使用 `create-trail` 命令创建跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-create-trail"></a>

您可以运行 `create-trail` 命令来创建专门配置为满足您的商业需求的跟踪记录。使用时 AWS CLI，请记住您的命令在为您的个人资料配置的 AWS 区域中运行。如果您想要在不同的区域中运行命令，可以为配置文件更改默认区域，或者与命令一起使用 **--region** 参数。

## 创建多区域跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-mrt"></a>

跟踪可以应用于您中[启用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone)的所有 AWS 区域 内容 AWS 账户，也可以应用于单个区域。适用于您启用的所有内容 AWS 区域 的跟踪 AWS 账户 称为*多区域跟踪*。作为最佳实践，我们建议您创建多区域跟踪，因为它能够捕获所有已启用区域中的活动。

要创建多区域跟踪，请使用 `--is-multi-region-trail` 选项。默认情况下，`create-trail` 命令创建的跟踪仅记录在其中创建该跟踪的 AWS 区域中的事件。为确保记录全球服务事件并捕获 AWS 账户中的所有管理事件活动，您应创建记录所有 AWS 区域事件的跟踪。

**注意**  
创建跟踪时，如果您指定的 Amazon S3 存储桶不是用创建的 CloudTrail，则需要附加相应的策略。请参阅[适用于 Amazon S3 存储桶政策 CloudTrail](create-s3-bucket-policy-for-cloudtrail.md)。

以下示例创建了一个多区域跟踪，其名称为*my-trail*和一个键名为*Group*、值为的标签，*Marketing*该跟踪将来自您账户中所有已启用区域的日志传送到名为*amzn-s3-demo-bucket*的现有存储桶。

```
aws cloudtrail create-trail --name my-trail --s3-bucket-name amzn-s3-demo-bucket --is-multi-region-trail --tags-list [key=Group,value=Marketing]
```

要确认您的跟踪是多区域跟踪，请验证输出中的 `IsMultiRegionTrail` 元素是否显示 `true`。

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

**注意**  
使用 `start-logging` 命令可以为您的跟踪启动日志记录操作。

## 为跟踪启动日志记录操作
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-single-start-logging"></a>

在 `create-trail` 命令完成后，运行 `start-logging` 命令可以为跟踪启动日志记录。

**注意**  
使用 CloudTrail 控制台创建跟踪时，日志记录会自动开启。

以下示例为跟踪启动日志记录。

```
aws cloudtrail start-logging --name my-trail
```

虽然此命令不返回输出，但您可以使用 `get-trail-status` 命令验证日志记录是否已启动。

```
aws cloudtrail get-trail-status --name my-trail
```

为了确认正在记录跟踪，输出中的 `IsLogging` 元素将显示 `true`。

```
{
    "LatestDeliveryTime": 1441139757.497,
    "LatestDeliveryAttemptTime": "2015-09-01T20:35:57Z",
    "LatestNotificationAttemptSucceeded": "2015-09-01T20:35:57Z",
    "LatestDeliveryAttemptSucceeded": "2015-09-01T20:35:57Z",
    "IsLogging": true,
    "TimeLoggingStarted": "2015-09-01T00:54:02Z",
    "StartLoggingTime": 1441068842.76,
    "LatestDigestDeliveryTime": 1441140723.629,
    "LatestNotificationAttemptTime": "2015-09-01T20:35:57Z",
    "TimeLoggingStopped": ""
}
```

## 创建单区域跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-single"></a>

以下命令创建单区域跟踪。指定的 Amazon S3 存储桶必须已经存在并且已应用相应的 CloudTrail 权限。有关更多信息，请参阅 [适用于 Amazon S3 存储桶政策 CloudTrail](create-s3-bucket-policy-for-cloudtrail.md)。

```
aws cloudtrail create-trail --name my-trail --s3-bucket-name amzn-s3-demo-bucket
```

下面是示例输出。

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": false,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

## 创建启用了日志文件验证的多区域跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-mrtlfi"></a>

要在使用 `create-trail` 时启用日志文件验证功能，请使用 `--enable-log-file-validation` 选项。

有关日志文件验证的信息，请参阅[验证 CloudTrail 日志文件完整性](cloudtrail-log-file-validation-intro.md)。

以下示例创建将日志传送到指定的存储桶的多区域跟踪。此命令使用 `--enable-log-file-validation` 选项。

```
aws cloudtrail create-trail --name my-trail --s3-bucket-name amzn-s3-demo-bucket --is-multi-region-trail --enable-log-file-validation
```

要确认系统已启用日志文件验证功能，请验证输出中的 `LogFileValidationEnabled` 元素是否为 `true`。

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": true,
    "IsMultiRegionTrail": true,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

# 使用 `update-trail` 命令更新跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-update-trail"></a>

**重要**  
自 2021 年 11 月 22 日起， AWS CloudTrail 更改了跟踪捕获全球服务事件的方式。现在，事件由 Amazon 创建 CloudFront AWS Identity and Access Management，并 AWS STS 记录在创建这些事件的区域，即美国东部（弗吉尼亚北部）区域 us-east-1。这使得如何 CloudTrail 对待这些服务与其他 AWS 全球服务保持一致。要继续接收美国东部（弗吉尼亚州北部）以外的全球服务事件，请务必将使用美国东部（弗吉尼亚州北部）以外全球服务事件的*单区域跟踪*转换为*多区域跟踪*。如需有关捕获全球服务事件的更多信息，请参阅本章节后面部分的[启用和禁用全球服务事件记录](#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-gses)。  
 相比之下， CloudTrail 控制台中的**事件历史记录**和**aws cloudtrail lookup-events**命令将显示这些事件的发生 AWS 区域 地点。

您可以使用 `update-trail` 命令更改跟踪的配置设置。您还可以使用 **add-tags** 和 **remove-tags** 命令以添加和删除跟踪的标签。您只能从创建跟踪的 AWS 区域（其主区域）更新跟踪。使用时 AWS CLI，请记住您的命令在为您的个人资料配置的 AWS 区域中运行。如果您想要在不同的区域中运行命令，可以为配置文件更改默认区域，或者与命令一起使用 **--region** 参数。

如果您已在 Amazon Security Lake 中启用 CloudTrail 管理事件，则需要至少维护一条多区域组织跟踪，并记录两者`read`以及`write`管理事件。您不能以不符合 Security Lake 要求的方式更新符合条件的跟踪。例如，通过将跟踪更改为单区域，或者关闭 `read` 或 `write` 管理事件的日志记录。

**注意**  
如果您使用 AWS CLI 或其中一个 AWS SDKs 来修改跟踪，请确保跟踪的存储桶策略是 up-to-date。为了让您的存储桶自动接收来自新存储桶的事件 AWS 区域，策略必须包含完整的服务名称`cloudtrail.amazonaws.com`。有关更多信息，请参阅 [适用于 Amazon S3 存储桶政策 CloudTrail](create-s3-bucket-policy-for-cloudtrail.md)。

**Topics**
+ [

## 将单区域跟踪转换为多区域跟踪
](#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-convert)
+ [

## 将多区域跟踪转换为单区域跟踪
](#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-reduce)
+ [

## 启用和禁用全球服务事件记录
](#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-gses)
+ [

## 启用日志文件验证
](#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-lfi)
+ [

## 禁用日志文件验证
](#cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-lfi-disable)

## 将单区域跟踪转换为多区域跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-convert"></a>

要将现有单区域跟踪更改为多区域跟踪，请使用 `--is-multi-region-trail` 选项。

```
aws cloudtrail update-trail --name my-trail --is-multi-region-trail
```

要确认该跟踪现在是多区域跟踪，请验证输出中的 `IsMultiRegionTrail` 元素是否显示 `true`。

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

## 将多区域跟踪转换为单区域跟踪
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-reduce"></a>

要更改现有的多区域跟踪以使其只应用于创建该跟踪的区域，请使用 `--no-is-multi-region-trail` 选项。

```
aws cloudtrail update-trail --name my-trail --no-is-multi-region-trail
```

要确认跟踪现在只应用到一个区域，请验证输出中的 `IsMultiRegionTrail` 元素是否为 `false`。

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": false,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

## 启用和禁用全球服务事件记录
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-gses"></a>

要更改跟踪以使其不记录全球服务事件，请使用 `--no-include-global-service-events` 选项。

```
aws cloudtrail update-trail --name my-trail --no-include-global-service-events
```

要确认跟踪不再记录全局服务事件，输出中的 `IncludeGlobalServiceEvents` 元素应显示 `false`。

```
{
    "IncludeGlobalServiceEvents": false,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": false,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

要更改跟踪以使其记录全球服务事件，请使用 `--include-global-service-events` 选项。

自 2021 年 11 月 22 日起，单区域跟踪将不再接收全球服务事件，除非该跟踪已出现在美国东部（弗吉尼亚州北部）区域 us-east-1。要继续捕获全球服务事件，请将跟踪配置更新为多区域跟踪。例如，此命令将美国东部（俄亥俄州）us-east-2 中的单区域跟踪更新为多区域跟踪。*myExistingSingleRegionTrailWithGSE*替换为适合您配置的相应跟踪名称。

```
aws cloudtrail --region us-east-2 update-trail --name myExistingSingleRegionTrailWithGSE --is-multi-region-trail
```

由于从 2021 年 11 月 22 日起，仅在美国东部（弗吉尼亚州北部）提供全球服务事件，您还可以创建单一区域跟踪以订阅美国东部（弗吉尼亚州北部）区域 us-east-1 的全球服务事件。以下命令在 us-east-1 中创建用于接收、IAM 和事件的单区域跟踪： CloudFront AWS STS 

```
aws cloudtrail --region us-east-1 create-trail --include-global-service-events --name myTrail --s3-bucket-name amzn-s3-demo-bucket
```

## 启用日志文件验证
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-lfi"></a>

要启用对跟踪的日志文件验证，可使用 `--enable-log-file-validation` 选项。摘要文件将传送到该跟踪的 Amazon S3 存储桶。

```
aws cloudtrail update-trail --name my-trail --enable-log-file-validation
```

要确认系统已启用日志文件验证功能，请验证输出中的 `LogFileValidationEnabled` 元素是否为 `true`。

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": true,
    "IsMultiRegionTrail": false,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

## 禁用日志文件验证
<a name="cloudtrail-create-and-update-a-trail-by-using-the-aws-cli-examples-lfi-disable"></a>

要禁用对跟踪的日志文件验证，请使用 `--no-enable-log-file-validation` 选项。

```
aws cloudtrail update-trail --name my-trail-name --no-enable-log-file-validation
```

要确认系统已禁用日志文件验证功能，请验证输出中的 `LogFileValidationEnabled` 元素是否为 `false`。

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "my-trail",
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": false,
    "IsOrganizationTrail": false,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```

要使用验证日志文件 AWS CLI，请参阅[CloudTrail 使用验证日志文件的完整性 AWS CLI](cloudtrail-log-file-validation-cli.md)。

# 使用管理跟踪 AWS CLI
<a name="cloudtrail-additional-cli-commands"></a>

 AWS CLI 包括其他几个可帮助您管理路径的命令。这些命令将标签添加到跟踪记录、获取跟踪记录状态、对跟踪记录启动和停止日志记录以及删除跟踪记录。您必须从创建跟踪的同一 AWS 区域（其主区域）运行这些命令。使用时 AWS CLI，请记住您的命令在为您的个人资料配置的 AWS 区域中运行。如果您想要在不同的区域中运行命令，可以为配置文件更改默认区域，或者与命令一起使用 **--region** 参数。

**Topics**
+ [

## 将一个或多个标签添加到跟踪
](#cloudtrail-additional-cli-commands-add-tag)
+ [

## 列出一个或多个跟踪记录的标签
](#cloudtrail-additional-cli-commands-list-tags)
+ [

## 从跟踪中删除一个或多个标签
](#cloudtrail-additional-cli-commands-remove-tag)
+ [

## 检索跟踪设置和跟踪状态
](#cloudtrail-additional-cli-commands-retrieve)
+ [

## 配置 CloudTrail Insights 事件选择器
](#configuring-insights-selector)
+ [

## 配置高级事件选择器
](#configuring-adv-event-selector-examples)
+ [

## 配置基本事件选择器
](#configuring-event-selector-examples)
+ [

## 停止和启动跟踪的日志记录
](#cloudtrail-start-stop-logging-cli-commands)
+ [

## 删除跟踪
](#cloudtrail-delete-trail-cli)

## 将一个或多个标签添加到跟踪
<a name="cloudtrail-additional-cli-commands-add-tag"></a>

要将一个或多个标签添加到现有跟踪，请运行 **add-tags** 命令。

以下示例向美国东部（俄亥俄州）地区的 ARN *Mary* 为的*arn:aws:cloudtrail:*us-east-2*:*123456789012*:trail/*my-trail**跟踪添加一个名称*Owner*和值为的标签。

```
aws cloudtrail add-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail --tags-list Key=Owner,Value=Mary --region us-east-2
```

如果成功，该命令不返回任何内容。

## 列出一个或多个跟踪记录的标签
<a name="cloudtrail-additional-cli-commands-list-tags"></a>

要查看与一个或多个现有跟踪记录相关联的标签，请使用 **list-tags** 命令。

以下示例列出了*Trail1*和的标签*Trail2*。

```
aws cloudtrail list-tags --resource-id-list arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2
```

如果成功，该命令返回类似以下内容的输出。

```
{
 "ResourceTagList": [
     {
         "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1",
         "TagsList": [
             {
                 "Value": "Alice",
                 "Key": "Name"
             },
             {
                 "Value": "Ohio",
                 "Key": "Location"
             }
         ]
     },
     {
         "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2",
         "TagsList": [
             {
                 "Value": "Bob",
                 "Key": "Name"
             }
         ]
     }
  ]
}
```

## 从跟踪中删除一个或多个标签
<a name="cloudtrail-additional-cli-commands-remove-tag"></a>

要从现有跟踪中删除一个或多个标签，请运行 **remove-tags** 命令。

以下示例*Name*从美国东部（俄亥俄州）地区的 ARN 为的跟踪*arn:aws:cloudtrail:*us-east-2*:*123456789012*:trail/*Trail1**中删除名称为*Location*和的标签。

```
aws cloudtrail remove-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 --tags-list Key=Name Key=Location --region us-east-2
```

如果成功，该命令不返回任何内容。

## 检索跟踪设置和跟踪状态
<a name="cloudtrail-additional-cli-commands-retrieve"></a>

运行`describe-trails`命令以检索有关 AWS 区域中跟踪的信息。以下示例返回美国东部（俄亥俄州）区域中配置的跟踪记录的信息。

```
aws cloudtrail describe-trails --region us-east-2
```

如果命令成功，则将显示类似于以下内容的输出。

```
{
  "trailList": [
    {
      "Name": "my-trail",
      "S3BucketName": "amzn-s3-demo-bucket1",
      "S3KeyPrefix": "my-prefix",
      "IncludeGlobalServiceEvents": true,
      "IsMultiRegionTrail": true,
      "HomeRegion": "us-east-2"
      "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
      "LogFileValidationEnabled": false,
      "HasCustomEventSelectors": false,
      "SnsTopicName": "my-topic",
      "IsOrganizationTrail": false,
    },
    {
      "Name": "my-special-trail",
      "S3BucketName": "amzn-s3-demo-bucket2",
      "S3KeyPrefix": "example-prefix",
      "IncludeGlobalServiceEvents": false,
      "IsMultiRegionTrail": false,
      "HomeRegion": "us-east-2",
      "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-special-trail",
      "LogFileValidationEnabled": false,
      "HasCustomEventSelectors": true,
      "IsOrganizationTrail": false
    },
    {
      "Name": "my-org-trail",
      "S3BucketName": "amzn-s3-demo-bucket3",
      "S3KeyPrefix": "my-prefix",
      "IncludeGlobalServiceEvents": true,
      "IsMultiRegionTrail": true,
      "HomeRegion": "us-east-1"
      "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-org-trail",
      "LogFileValidationEnabled": false,
      "HasCustomEventSelectors": false,
      "SnsTopicName": "my-topic",
      "IsOrganizationTrail": true
    }
  ]
}
```

运行 `get-trail` 命令检索特定跟踪的设置信息。以下示例返回名为的跟踪的设置信息*my-trail*。

```
aws cloudtrail get-trail - -name my-trail
```

如果成功，该命令返回类似以下内容的输出。

```
{
   "Trail": {
      "Name": "my-trail",
      "S3BucketName": "amzn-s3-demo-bucket",
      "S3KeyPrefix": "my-prefix",
      "IncludeGlobalServiceEvents": true,
      "IsMultiRegionTrail": true,
      "HomeRegion": "us-east-2"
      "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail",
      "LogFileValidationEnabled": false,
      "HasCustomEventSelectors": false,
      "SnsTopicName": "my-topic",
      "IsOrganizationTrail": false,
   }
}
```

运行 `get-trail-status` 命令检索跟踪的状态。您必须从创建该命令的 AWS 区域（主区域）运行此命令，或者必须通过添加**--region**参数来指定该区域。

**注意**  
如果跟踪是组织跟踪，并且您是组织中的成员账户 AWS Organizations，则必须提供该跟踪的完整 ARN，而不仅仅是名称。

```
aws cloudtrail get-trail-status --name my-trail
```

如果命令成功，则将显示类似于以下内容的输出。

```
{
    "LatestDeliveryTime": 1441139757.497,
    "LatestDeliveryAttemptTime": "2015-09-01T20:35:57Z",
    "LatestNotificationAttemptSucceeded": "2015-09-01T20:35:57Z",
    "LatestDeliveryAttemptSucceeded": "2015-09-01T20:35:57Z",
    "IsLogging": true,
    "TimeLoggingStarted": "2015-09-01T00:54:02Z",
    "StartLoggingTime": 1441068842.76,
    "LatestDigestDeliveryTime": 1441140723.629,
    "LatestNotificationAttemptTime": "2015-09-01T20:35:57Z",
    "TimeLoggingStopped": ""
}
```

除了前面的 JSON 代码中显示的字段外，在出现 Amazon SNS 或 Amazon S3 错误的情况下，状态还包含以下字段：
+ `LatestNotificationError`. 在主题订阅失败的情况下，包含 Amazon SNS 发出的错误。
+ `LatestDeliveryError`。 包含 Amazon S3 在 CloudTrail 无法将日志文件传送到存储桶时发出的错误。

## 配置 CloudTrail Insights 事件选择器
<a name="configuring-insights-selector"></a>

通过运行 **put-insight-selectors** 并指定 `ApiCallRateInsight` 和/或 `ApiErrorRateInsight` 作为 `InsightType` 属性的值，对跟踪记录启用 Insights 事件。要查看跟踪的 Insights 事件选择器设置，请运行 `get-insight-selectors` 命令。您必须从创建跟踪的 AWS 区域（主区域）运行此命令，或者必须通过在命令中添加**--region**参数来指定该区域。

**注意**  
 要记录 `ApiCallRateInsight` 的 Insights 事件，跟踪必须记录 `write` 管理事件。要记录 `ApiErrorRateInsight` 的 Insights 事件，跟踪必须记录 `read` 或 `write` 管理事件。

### 记录 Insights 事件的示例跟踪
<a name="configuring-insights-selector-example"></a>

以下示例用于**put-insight-selectors**为名为的跟踪创建 Insights 事件选择器*TrailName3*。这为*TrailName3*跟踪启用了 Insights 事件收集。Insights 事件选择器会同时记录 `ApiErrorRateInsight` 和 `ApiCallRateInsight` Insights 事件类型。

```
aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'
```

该示例返回为跟踪配置的 Insights 事件选择器。

```
{
   "InsightSelectors":
      [
         {
            "InsightType": "ApiErrorRateInsight"
         },
         {
            "InsightType": "ApiCallRateInsight"
         }
      ],
   "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3"
}
```

### 示例：关闭 Insights 事件集合
<a name="configuring-insights-selector-example2"></a>

以下示例用于移除名**put-insight-selectors**为的跟踪的 Insights 事件选择器*TrailName3*。清除 Insights 选择器的 JSON 字符串会禁用跟踪的 Insights 事件收集。*TrailName3*

```
aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '[]'
```

该示例返回为跟踪配置的现在为空的 Insights 事件选择器。

```
{
   "InsightSelectors": [ ],
   "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3"
}
```

## 配置高级事件选择器
<a name="configuring-adv-event-selector-examples"></a>

您可以使用高级事件选择器来记录[管理事件](logging-management-events-with-cloudtrail.md)、所有资源类型的[数据事件](logging-data-events-with-cloudtrail.md)以及[网络活动事件](logging-network-events-with-cloudtrail.md)。相比之下，您可以使用基本的事件选择器来记录 `AWS::DynamoDB::Table`、`AWS::Lambda::Function` 和 `AWS::S3::Object` 资源类型的管理事件和数据事件。您可以使用基本事件选择器或高级事件选择器，但不能同时使用两者。如果将高级事件选择器应用于使用基本事件选择器的跟踪，则基本事件选择器将被覆盖。

要将跟踪转换为高级事件选择器，请运行 **get-event-selectors** 命令以确认当前事件选择器，然后配置高级事件选择器以匹配以前事件选择器的覆盖范围，随后添加任何其他选择器。

您必须从创建跟踪 AWS 区域 的地方（主区域）运行`get-event-selectors`命令，或者必须通过添加**--region**参数来指定该区域。

```
aws cloudtrail get-event-selectors --trail-name TrailName
```

**注意**  
如果跟踪是组织跟踪，并且您使用组织中的成员账户登录 AWS Organizations，则必须提供跟踪的完整 ARN，而不仅仅是名称。

以下示例展示了使用高级事件选择器记录管理事件的跟踪的设置。默认情况下，跟踪配置为记录所有管理事件，不记录数据事件或网络活动事件。

```
{
    "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events-trail",
    "AdvancedEventSelectors": [
        {
            "Name": "Management events selector",
            "FieldSelectors": [
                {
                    "Field": "eventCategory",
                    "Equals": [
                        "Management"
                    ]
                }
            ]

        }
    ]
}
```

要创建事件选择器，请运行 `put-event-selectors` 命令。当您的账户中发生事件时， CloudTrail 会评估您的跟踪配置。如果事件匹配跟踪的任何高级事件选择器，则跟踪将处理并记录事件。您可以在跟踪上配置多达 500 个条件，包括为跟踪上的所有高级事件选择器指定的所有值。有关更多信息，请参阅[记录数据事件](logging-data-events-with-cloudtrail.md)和[记录网络活动事件](logging-network-events-with-cloudtrail.md)。

**Topics**
+ [

### 带有特定高级事件选择器的示例跟踪
](#configuring-adv-event-selector-specific)
+ [

### 使用自定义高级事件选择器在 Amazon S3 上记录 AWS Outposts 数据事件的示例跟踪
](#configuring-adv-event-selector-outposts)
+ [

### 使用高级事件选择器排除 AWS Key Management Service 事件的示例路径
](#configuring-adv-event-selector-exclude)
+ [

### 使用高级事件选择器排除 Amazon RDS 数据 API 管理事件的示例跟踪
](#configuring-adv-event-selector-exclude-rds)

### 带有特定高级事件选择器的示例跟踪
<a name="configuring-adv-event-selector-specific"></a>

以下示例为名为的跟踪创建自定义高级事件选择器，*TrailName*以包括读取和写入管理事件（省略`readOnly`选择器），`PutObject`以及除名为的存储桶、名`amzn-s3-demo-bucket`为的 AWS Lambda 函数`DeleteObject`的数据事件以及通过 VPC 终端节点 AWS KMS 访问被拒绝事件的网络活动事件以外的所有 Amazon S3 存储桶/前缀组合的数据事件。`MyLambdaFunction`由于这些都是自定义高级事件选择器，因此每组选择器都有一个描述性名称。请注意，尾随斜杠是 S3 存储桶的 ARN 值的一部分。

```
aws cloudtrail put-event-selectors --trail-name TrailName --advanced-event-selectors
'[
  {
    "Name": "Log readOnly and writeOnly management events",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Management"] }
    ]
  },
  {
    "Name": "Log PutObject and DeleteObject events for all but one bucket",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::S3::Object"] },
      { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] },
      { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] }
    ]
  },
  {
    "Name": "Log data plane actions on MyLambdaFunction",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Data"] },
      { "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] },
      { "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction"] }
    ]
  },
  {
     "Name": "Audit AccessDenied AWS KMS events over a VPC endpoint",
     "FieldSelectors": [
       { "Field": "eventCategory", "Equals": ["NetworkActivity"]},
       { "Field": "eventSource", "Equals": ["kms.amazonaws.com"]},
       { "Field": "errorCode", "Equals": ["VpceAccessDenied"]}
     ]
  }
]'
```

以下示例返回为跟踪配置的高级事件选择器。

```
{
  "AdvancedEventSelectors": [
    {
      "Name": "Log readOnly and writeOnly management events",
      "FieldSelectors": [
        {
          "Field": "eventCategory",
          "Equals": [ "Management" ]
        }
      ]
    },
    {
      "Name": "Log PutObject and DeleteObject events for all but one bucket",
      "FieldSelectors": [
        {
          "Field": "eventCategory",
          "Equals": [ "Data" ]
        },
        {
          "Field": "resources.type",
          "Equals": [ "AWS::S3::Object" ]
        },
        {
          "Field": "resources.ARN",
          "NotStartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/" ]
        },
      ]
    },
    {
      "Name": "Log data plane actions on MyLambdaFunction",
      "FieldSelectors": [
        {
          "Field": "eventCategory",
          "Equals": [ "Data" ]
        },
        {
          "Field": "resources.type",
          "Equals": [ "AWS::Lambda::Function" ]
        },
        {
          "Field": "eventName",
          "Equals": [ "Invoke" ]
        },
        {
          "Field": "resources.ARN",
          "Equals": [ "arn:aws:lambda:us-east-2:123456789012:function/MyLambdaFunction" ]
        }
      ]
    },
    {
       "Name": "Audit AccessDenied AWS KMS events over a VPC endpoint",
       "FieldSelectors": [
         {
           "Field": "eventCategory",
           "Equals": ["NetworkActivity"]
         },
         {
           "Field": "eventSource",
           "Equals": ["kms.amazonaws.com"]
         },
         {
           "Field": "errorCode",
           "Equals": ["VpceAccessDenied"]
         }
       ]
     }
  ],
  "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

### 使用自定义高级事件选择器在 Amazon S3 上记录 AWS Outposts 数据事件的示例跟踪
<a name="configuring-adv-event-selector-outposts"></a>

以下示例说明如何将您的跟踪配置为包含前哨基地中 AWS Outposts 对象上的所有 Amazon S3 的所有数据事件。在此版本中，S3 在该`resources.type`字段 AWS Outposts 的事件上支持的值为`AWS::S3Outposts::Object`。

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
'[
    {
            "Name": "OutpostsEventSelector",
            "FieldSelectors": [
                { "Field": "eventCategory", "Equals": ["Data"] },
                { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] }
            ]
        }
]'
```

该命令将返回以下示例输出。

```
{
    "AdvancedEventSelectors": [
        {
            "Name": "OutpostsEventSelector",
            "FieldSelectors": [
                {
                    "Field": "eventCategory",
                    "Equals": [
                        "Data"
                    ]
                },
                {
                    "Field": "resources.type",
                    "Equals": [
                        "AWS::S3Outposts::Object"
                    ]
                }
            ]
        }
    ],
  "TrailARN": "arn:aws:cloudtrail:region:123456789012:trail/TrailName"
}
```

### 使用高级事件选择器排除 AWS Key Management Service 事件的示例路径
<a name="configuring-adv-event-selector-exclude"></a>

以下示例为名为的跟踪创建了一个高级事件选择器，*TrailName*以包含只读和只写管理事件（省略`readOnly`选择器），但排除 AWS Key Management Service (AWS KMS) 事件。由于 AWS KMS 事件被视为管理事件，而且其数量可能很大，因此，如果您有多个跟踪记录管理事件，它们可能会对您的 CloudTrail 账单产生重大影响。

如果您选择不记录管理事件，则不会记录 AWS KMS 事件，也无法更改 AWS KMS 事件记录设置。

要重新开始将 AWS KMS 事件记录到跟踪，请移除`eventSource`选择器，然后再次运行该命令。

```
aws cloudtrail put-event-selectors --trail-name TrailName \
--advanced-event-selectors '
[
  {
    "Name": "Log all management events except KMS events",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Management"] },
      { "Field": "eventSource", "NotEquals": ["kms.amazonaws.com"] }
    ]
  }
]'
```

以下示例返回为跟踪配置的高级事件选择器。

```
{
  "AdvancedEventSelectors": [
    {
      "Name": "Log all management events except KMS events",
      "FieldSelectors": [
        {
          "Field": "eventCategory",
          "Equals": [ "Management" ]
        },
        {
          "Field": "eventSource",
          "NotEquals": [ "kms.amazonaws.com" ]
        }
      ]
    }
  ],
  "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

要再次开始将排除的事件记录到跟踪，请删除 `eventSource` 选择器，如以下命令中所示。

```
aws cloudtrail put-event-selectors --trail-name TrailName \
--advanced-event-selectors '
[
  {
    "Name": "Log all management events",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Management"] }
    ]
  }
]'
```

### 使用高级事件选择器排除 Amazon RDS 数据 API 管理事件的示例跟踪
<a name="configuring-adv-event-selector-exclude-rds"></a>

以下示例为名为的跟踪创建高级事件选择器，*TrailName*以包含只读和只写管理事件（省略`readOnly`选择器），但排除 Amazon RDS 数据 API 管理事件。要排除 Amazon RDS 数据 API 管理事件，请在 `eventSource` 字段的字符串值中指定 Amazon RDS 数据 API 事件源：`rdsdata.amazonaws.com`。

如果选择不记录管理事件，则不会记录 Amazon RDS 数据 API 管理事件，并且您无法更改 Amazon RDS 数据 API 事件日志记录设置。

要再次开始将 Amazon RDS 数据 API 管理事件记录到跟踪，请删除 `eventSource` 选择器，然后再次运行命令。

```
aws cloudtrail put-event-selectors --trail-name TrailName \
--advanced-event-selectors '
[
  {
    "Name": "Log all management events except Amazon RDS Data API management events",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Management"] },
      { "Field": "eventSource", "NotEquals": ["rdsdata.amazonaws.com"] }
    ]
  }
]'
```

以下示例返回为跟踪配置的高级事件选择器。

```
{
  "AdvancedEventSelectors": [
    {
      "Name": "Log all management events except Amazon RDS Data API management events",
      "FieldSelectors": [
        {
          "Field": "eventCategory",
          "Equals": [ "Management" ]
        },
        {
          "Field": "eventSource",
          "NotEquals": [ "rdsdata.amazonaws.com" ]
        }
      ]
    }
  ],
  "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

要再次开始将排除的事件记录到跟踪，请删除 `eventSource` 选择器，如以下命令中所示。

```
aws cloudtrail put-event-selectors --trail-name TrailName \
--advanced-event-selectors '
[
  {
    "Name": "Log all management events",
    "FieldSelectors": [
      { "Field": "eventCategory", "Equals": ["Management"] }
    ]
  }
]'
```

## 配置基本事件选择器
<a name="configuring-event-selector-examples"></a>

您只能使用基本的事件选择器来记录 `AWS::DynamoDB::Table`、`AWS::Lambda::Function` 和 `AWS::S3::Object` 资源类型的管理事件和数据事件。您可以使用高级事件选择器来记录管理事件、所有数据资源类型和网络活动事件。

您可以使用基本事件选择器或高级事件选择器，但不能同时使用两者。如果您将基本事件选择器应用于使用高级事件选择器的跟踪，则高级事件选择器将被覆盖。

要查看跟踪的事件选择器设置，请运行 `get-event-selectors` 命令。您必须从创建该命令 AWS 区域 的地方（主区域）运行该命令，或者必须使用**--region**参数指定该区域。

```
aws cloudtrail get-event-selectors --trail-name TrailName
```

**注意**  
如果跟踪是组织跟踪，并且您是组织中的成员账户 AWS Organizations，则必须提供该跟踪的完整 ARN，而不仅仅是名称。

以下示例展示了使用基本事件选择器记录管理事件的跟踪的设置。

```
{
    "EventSelectors": [
        {
            "ExcludeManagementEventSources": [],
            "IncludeManagementEvents": true,
            "DataResources": [],
            "ReadWriteType": "All"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

要创建事件选择器，请运行 `put-event-selectors` 命令。如果您想在跟踪上记录 Insights 事件，请确保事件选择器为您要用于配置跟踪的 Insights 类型启用日志记录。有关记录 Insights 事件的更多信息，请参阅[使用见 CloudTrail 解](logging-insights-events-with-cloudtrail.md)。

当事件在您的账户中发生时， CloudTrail 将评估您的跟踪配置。如果事件匹配跟踪的任何事件选择器，则跟踪将处理并记录事件。您可以为一个跟踪配置最多 5 个事件选择器和最多 250 个数据资源。有关更多信息，请参阅 [记录数据事件](logging-data-events-with-cloudtrail.md)。

**Topics**
+ [

### 带有特定事件选择器的示例跟踪
](#configuring-event-selector-example1)
+ [

### 记录所有管理和数据事件的示例跟踪
](#configuring-event-selector-example2)
+ [

### 不记录 AWS Key Management Service 事件的示例跟踪
](#configuring-event-selector-example-kms)
+ [

### 记录相关低容量 AWS Key Management Service 事件的示例跟踪
](#configuring-event-selector-log-kms)
+ [

### 不记录 Amazon RDS 数据 API 事件的示例跟踪
](#configuring-event-selector-example-rds)

### 带有特定事件选择器的示例跟踪
<a name="configuring-event-selector-example1"></a>

以下示例为名为的跟踪创建事件选择器，*TrailName*以包括只读和只写管理事件、两个 Amazon S3 bucket/prefix 组合的数据事件以及名为的单个 AWS Lambda 函数的数据事件。*hello-world-python-function*

```
aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::amzn-s3-demo-bucket/prefix","arn:aws:s3:::amzn-s3-demo-bucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]'
```

以下示例返回为跟踪配置的事件选择器。

```
{
    "EventSelectors": [
        {
            "ExcludeManagementEventSources": [],
            "IncludeManagementEvents": true,
            "DataResources": [
                {
                    "Values": [
                        "arn:aws:s3:::amzn-s3-demo-bucket/prefix",
                        "arn:aws:s3:::amzn-s3-demo-bucket2/prefix2"
                    ],
                    "Type": "AWS::S3::Object"
                },
                {
                    "Values": [
                        "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function"
                    ],
                    "Type": "AWS::Lambda::Function"
                },
            ],
            "ReadWriteType": "All"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

### 记录所有管理和数据事件的示例跟踪
<a name="configuring-event-selector-example2"></a>

以下示例为名为的跟踪创建事件选择器*TrailName2*，该跟踪包括所有管理事件，包括只读和只写管理事件，以及中所有 Amazon S3 存储桶、 AWS Lambda 函数和 Amazon DynamoDB 表的数据事件。 AWS 账户由于此示例使用基本事件选择器，因此它无法为开启的 S3 事件、以太坊节点上 AWS Outposts的 Amazon Managed Blockchain JSON-RPC 调用或其他高级事件选择器资源类型配置日志记录。您也无法使用基本事件选择器记录网络活动事件。您必须使用高级事件选择器来记录所有其他资源类型的网络活动事件和数据事件。有关更多信息，请参阅 [配置高级事件选择器](#configuring-adv-event-selector-examples)。

**注意**  
如果跟踪仅应用于一个区域，则只记录该区域的事件，即使事件选择器参数指定所有 Amazon S3 存储桶和 Lambda 函数。事件选择器仅应用于在其中创建跟踪的区域。

```
aws cloudtrail put-event-selectors --trail-name TrailName2 --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]},{"Type": "AWS::DynamoDB::Table","Values": ["arn:aws:dynamodb"]}]}]'
```

以下示例返回为跟踪配置的事件选择器。

```
{
    "EventSelectors": [
        {
            "ExcludeManagementEventSources": [],
            "IncludeManagementEvents": true,
            "DataResources": [
                {
                    "Values": [
                        "arn:aws:s3:::"
                    ],
                    "Type": "AWS::S3::Object"
                },
                {
                    "Values": [
                        "arn:aws:lambda"
                    ],
                    "Type": "AWS::Lambda::Function"
                },
{
                    "Values": [
                        "arn:aws:dynamodb"
                    ],
                    "Type": "AWS::DynamoDB::Table"
                }
            ],
            "ReadWriteType": "All"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2"
}
```

### 不记录 AWS Key Management Service 事件的示例跟踪
<a name="configuring-event-selector-example-kms"></a>

以下示例为名为的跟踪创建事件选择器，*TrailName*以包括只读和只写管理事件，但排除 AWS Key Management Service (AWS KMS) 事件。由于 AWS KMS 事件被视为管理事件，而且其数量可能很大，因此，如果您有多个跟踪记录管理事件，它们可能会对您的 CloudTrail 账单产生重大影响。在此示例中，用户已选择排除每个跟踪中的 AWS KMS 事件，但一个跟踪除外。要排除事件源，请将 `ExcludeManagementEventSources` 添加到事件选择器，然后在字符串值中指定事件源。

如果您选择不记录管理事件，则不会记录 AWS KMS 事件，也无法更改 AWS KMS 事件记录设置。

要重新开始将 AWS KMS 事件记录到跟踪，请传递一个空数组作为的值`ExcludeManagementEventSources`。

```
aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["kms.amazonaws.com"],"IncludeManagementEvents": true]}]'
```

以下示例返回为跟踪配置的事件选择器。

```
{
    "EventSelectors": [
        {
            "ExcludeManagementEventSources": [ "kms.amazonaws.com" ],
            "IncludeManagementEvents": true,
            "DataResources": [],
            "ReadWriteType": "All"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

要重新开始将 AWS KMS 事件记录到跟踪，请传递一个空数组作为的值`ExcludeManagementEventSources`，如以下命令所示。

```
aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'
```

### 记录相关低容量 AWS Key Management Service 事件的示例跟踪
<a name="configuring-event-selector-log-kms"></a>

以下示例为名为的跟踪创建事件选择器*TrailName*，以包含只写管理事件和 AWS KMS 事件。由于 AWS KMS 事件被视为管理事件，而且其数量可能很大，因此，如果您有多个跟踪记录管理事件，它们可能会对您的 CloudTrail 账单产生重大影响。此示例中的用户已选择包含 W AWS KMS **rit** e 事件，该事件将包括`Disable``ScheduleKey`、`Delete`和，但不再包括大容量操作，例如`Encrypt``Decrypt`、和`GenerateDataKey`（这些操作现在被视为**读取**事件）。

```
aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "WriteOnly","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'
```

以下示例返回为跟踪配置的事件选择器。这会记录只写管理事件，包括 AWS KMS 事件。

```
{
    "EventSelectors": [
        {
            "ExcludeManagementEventSources": [],
            "IncludeManagementEvents": true,
            "DataResources": [],
            "ReadWriteType": "WriteOnly"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

### 不记录 Amazon RDS 数据 API 事件的示例跟踪
<a name="configuring-event-selector-example-rds"></a>

以下示例为名为的跟踪创建事件选择器，*TrailName*以包括只读和只写管理事件，但不包括 Amazon RDS Data API 事件。由于 Amazon RDS Data API 事件被视为管理事件，而且其数量可能很大，因此，如果您有多个跟踪记录管理事件，它们可能会对您的 CloudTrail 账单产生重大影响。在此示例中，用户已选择排除每个跟踪中的 Amazon RDS 数据 API 事件，但一个跟踪除外。要排除事件源，请将 `ExcludeManagementEventSources` 添加到事件选择器，然后在字符串值中指定 Amazon RDS 数据 API 事件源：`rdsdata.amazonaws.com`。

如果选择不记录管理事件，则不会记录 Amazon RDS 数据 API 事件，并且您无法更改事件日志记录设置。

要再次开始将 Amazon RDS 数据 API 管理事件记录到跟踪，请传递一个空数组作为 `ExcludeManagementEventSources` 的值。

```
aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["rdsdata.amazonaws.com"],"IncludeManagementEvents": true]}]'
```

以下示例返回为跟踪配置的事件选择器。

```
{
    "EventSelectors": [
        {
            "ExcludeManagementEventSources": [ "rdsdata.amazonaws.com" ],
            "IncludeManagementEvents": true,
            "DataResources": [],
            "ReadWriteType": "All"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```

要再次开始将 Amazon RDS 数据 API 管理事件记录到跟踪，请传递一个空数组作为 `ExcludeManagementEventSources` 的值，如以下命令中所示。

```
aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'
```

## 停止和启动跟踪的日志记录
<a name="cloudtrail-start-stop-logging-cli-commands"></a>

以下命令用于启动和停止 CloudTrail 日志记录。

```
aws cloudtrail start-logging --name awscloudtrail-example
```

```
aws cloudtrail stop-logging --name awscloudtrail-example
```

**注意**  
在删除存储桶之前，运行 `stop-logging` 命令以停止向存储桶传送事件。如果您不停止记录，则 CloudTrail 会尝试在有限的时间内将日志文件传送到同名存储桶。  
如果您停止记录或删除跟踪，则会对该跟踪禁用 CloudTrail Insights。

**停止记录后的事件传送**  
停止记录跟踪后，该跟踪仍可以接收在停止记录之前发生的事件。事件延迟的原因有很多，包括网络流量大、连接问题、服务中断或现有事件的更新。 CloudTrail 使用最近停止日志记录的时间来确定是否传送延迟事件，而不是事件发生时跟踪的日志状态。因此，在上次停止记录之前发生的延迟事件仍然可以传送到跟踪。有关延迟事件传送的更多信息，请参阅中的`addendum`字段[CloudTrail 记录管理、数据和网络活动事件的内容](cloudtrail-event-reference-record-contents.md)。  
此外，在停止记录后，不会评估事件选择器和高级事件选择器是否存在传输到跟踪的延迟事件。这意味着，无论跟踪的事件选择器配置如何，跟踪都可以接收在日志停止之前发生的任何类型的事件。

## 删除跟踪
<a name="cloudtrail-delete-trail-cli"></a>

如果您已在 Amazon Security Lake 中启用 CloudTrail 管理事件，则需要至少维护一条多区域组织跟踪，并记录两者`read`以及`write`管理事件。如果跟踪是您拥有的唯一符合此要求的跟踪，则无法将其删除，除非您在 Security Lake 中关闭 CloudTrail 管理事件。

可使用以下命令删除跟踪。您只能从创建跟踪的区域（主区域）中删除跟踪。

**重要**  
 虽然删除 CloudTrail 跟踪是不可逆的操作，但 CloudTrail 不会删除该跟踪的 Amazon S3 存储桶、Amazon S3 存储桶本身或跟踪向其传递事件的 CloudWatch 日志组中的日志文件。删除多区域跟踪将停止记录您 AWS 账户启用的所有 AWS 区域中的事件。删除单区域跟踪将仅停止记录该区域中的事件。即使其他区域中的跟踪与已删除的跟踪具有相同的名称，也不会停止记录其他区域中的事件。  
有关账户关闭和 CloudTrail 跟踪删除的信息，请参阅[AWS 账户 封闭和步道](cloudtrail-account-closure.md)。

```
aws cloudtrail delete-trail --name awscloudtrail-example
```

在删除跟踪时，请不要删除 Amazon S3 存储桶或与该存储桶关联的 Amazon SNS 主题。使用 AWS 管理控制台 AWS CLI、或服务 API 分别删除这些资源。

# 创建多个跟踪
<a name="create-multiple-trails"></a>

您可以使用 CloudTrail 日志文件来解决 AWS 账户中的操作或安全问题。您可以为不同用户创建跟踪，以便其创建和管理自己的跟踪。您可以将跟踪配置为将日志文件传送到单独的 S3 存储桶或共享的 S3 存储桶。

**注意**  
每个 AWS 区域 账户的管理事件的第一份副本是免费的。如果您创建更多跟踪，将相同的管理事件传送到其他目的地，则这些后续交付会产生 CloudTrail 成本。有关 CloudTrail 费用的更多信息，请参阅[AWS CloudTrail 定价](https://aws.amazon.com/cloudtrail/pricing/)和[管理 CloudTrail 跟踪成本](cloudtrail-trail-manage-costs.md)。

例如，您可以具有以下用户：
+ 安全管理员在欧洲（爱尔兰）区域创建跟踪并配置 KMS 日志文件的加密。此跟踪将日志文件传送到欧洲（爱尔兰）区域中的 S3 存储桶。
+ IT 审计员在欧洲（爱尔兰）地区创建跟踪并配置日志文件完整性验证，以确保日志文件自 CloudTrail 交付以来没有发生变化。此跟踪配置为将日志文件传送到欧洲（法兰克福）区域中的 S3 存储桶
+ 开发人员在欧洲（法兰克福）区域创建跟踪并配置 CloudWatch 警报以接收特定 API 活动的通知。此跟踪与针对日志文件完整性配置的跟踪共享同一个 S3 存储桶。
+ 另一开发人员在注（法兰克福）区域中创建跟踪并配置 SNS。日志文件传输到欧洲（法兰克福）区域中的单独 S3 存储桶。

以下图像对示例进行了说明。

![\[多个跟踪的日志文件传输示例\]](http://docs.aws.amazon.com/zh_cn/awscloudtrail/latest/userguide/images/eu-shared-01.png)


**注意**  
每次最多可以创建五条跟踪 AWS 区域。多区域跟踪计为每个区域一个跟踪。

您可以使用资源级权限管理用户对 CloudTrail 执行特定操作的能力。

例如，您可以授予用户查看跟踪事件的许可，但限制其启动或者停止记录跟踪。您可以授予其他用户创建和删除跟踪的完整许可。这让您能够对跟踪和用户访问进行粒度控制。

有关资源级别许可的更多信息，请参阅[示例：对针对特定跟踪记录的操作创建和应用策略](security_iam_id-based-policy-examples.md#grant-custom-permissions-for-cloudtrail-users-resource-level)。

有关多条跟踪的更多信息，请参阅[CloudTrail FAQs](https://aws.amazon.com/cloudtrail/faqs/)。