

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

# 使用 `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)。