

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

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