

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

# 使用创建、更新和管理跟踪 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 分别删除这些资源。