

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 管理線索 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** 命令。

下列範例會將名稱為 *Owner* (擁有者) 和值為 *Mary* 的標籤新增至美國東部 (俄亥俄) 區域 ARN 為 *arn:aws:cloudtrail:*us-east-2*:*123456789012*:trail/*my-trail** 的追蹤。

```
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** 命令。

下列範例為從美國東部 (俄亥俄) 區域中 ARN 為 *arn:aws:cloudtrail:*us-east-2*:*123456789012*:trail/*Trail1** 的追蹤中移除名稱為 *Location* (位置) 和 *Name* (名稱) 的標籤。

```
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": ""
}
```

如果發生 Amazon SNS 或 Amazon S3 錯誤，則除了上述 JSON 程式碼中所示的欄位外，狀態還會包含下列欄位：
+ `LatestNotificationError` 包含主題訂閱失敗時由 Amazon SNS 發出的錯誤。
+ `LatestDeliveryError`. 包含 CloudTrail 無法將日誌檔案交付到儲存貯體時由 Amazon S3 發出的錯誤。

## 設定 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**，為名為 *TrailName3* 的追蹤建立 Insights 事件選取器。這會啟用 *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**，為名為 *TrailName3* 的追蹤移除 Insights 事件選取器。清除 Insights 選取器的 JSON 字串會停用 *TrailName3* 追蹤的 Insights 事件收集。

```
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::S3::Object`類型的管理事件`AWS::Lambda::Function`和資料事件。您可以使用基本事件選取器或進階事件選取器，但不能同時使用兩者。如果您將進階事件選取器套用至使用基本事件選取器的線索，則會覆寫基本事件選取器。

若要將線索轉換為進階事件選取器，請執行 **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 Data API 管理事件的範例追蹤](#configuring-adv-event-selector-exclude-rds)

### 使用特定進階事件選取器的範例追蹤
<a name="configuring-adv-event-selector-specific"></a>

下列範例會為名為 *TrailName* 的線索建立自訂進階事件選取器，以包含讀取和寫入管理事件 （省略選取`readOnly`器）`PutObject`，以及所有 Amazon S3 儲存貯體/字首組合`DeleteObject`的資料事件，除了名為 的儲存貯體`amzn-s3-demo-bucket`、名為 之 AWS Lambda 函數的資料事件`MyLambdaFunction`，以及透過 VPC 端點 AWS KMS 存取遭拒事件的網路活動事件。因為這些都是自訂進階事件選取器，所以每組選取器都有一個描述性的名稱。請注意，尾步斜線是 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>

下列範例顯示如何設定您的線索，以將所有 Amazon S3 AWS Outposts 物件上的所有資料事件包含在前哨站中。在此版本中， `resources.type` 欄位的 S3 on 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 Data API 管理事件的範例追蹤
<a name="configuring-adv-event-selector-exclude-rds"></a>

下列範例會為名為 *TrailName* 的線索建立進階事件選取器，以包含唯讀和唯寫管理事件 （省略選取`readOnly`器），但會排除 Amazon RDS Data API 管理事件。若要排除 Amazon RDS Data API 管理事件，請在 `eventSource` 欄位的字串值中指定 Amazon RDS Data API 事件來源：`rdsdata.amazonaws.com`。

如果您選擇不記錄管理事件，則不會記錄 Amazon RDS Data API 管理事件，而且您無法變更 Amazon RDS Data API 事件記錄設定。

若要再次開始將 Amazon RDS Data 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::S3::Object`類型的管理事件`AWS::Lambda::Function`和資料事件。您可以使用進階事件選取器來記錄管理事件、所有資料資源類型和網路活動事件。

您可以使用基本事件選取器或進階事件選取器，但不能同時使用兩者。如果您將基本事件選取器套用至使用進階事件選取器的線索，則會覆寫進階事件選取器。

若要檢視追蹤的事件選取器設定，請執行 `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 Insights](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 Data API 事件的範例追蹤](#configuring-event-selector-example-rds)

### 使用特定事件選取器的範例追蹤
<a name="configuring-event-selector-example1"></a>

下列範例會為名為 *TrailName* 的線索建立事件選取器，以包含唯讀和唯讀管理事件、兩個 Amazon S3 儲存貯體/字首組合的資料事件，以及名為 *hello-world-python-function* 的單一 AWS Lambda 函數的資料事件。

```
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、Ethereum 節點上的 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 帳單產生重大影響。此範例中的使用者已選擇包含 AWS KMS **寫入**事件，其中包含 `Disable`、 `Delete`和 `ScheduleKey`，但不再包含大量動作，例如 `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 Data API 事件的範例追蹤
<a name="configuring-event-selector-example-rds"></a>

下列範例會為名為 *TrailName* 的追蹤建立事件選取器，以包含唯讀和唯寫管理事件，但排除 Amazon RDS Data API 事件。由於 Amazon RDS Data API 事件被視為管理事件，而且可能會有大量的事件，因此如果您有多個追蹤用來擷取管理事件，這些事件可能會對您的 CloudTrail 帳單產生重大影響。此範例中的使用者已選擇從每個追蹤中排除 Amazon RDS Data API 事件，只有一個例外。若要排除事件來源，請將 `ExcludeManagementEventSources` 加入事件選取器，並在字串值 `rdsdata.amazonaws.com` 中指定事件 Amazon RDS Data API 來源。

如果您選擇不記錄管理事件，Amazon RDS Data API 事件不會記錄，而且您無法變更事件記錄設定。

若要再次開始將 Amazon RDS Data 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 Data 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 CLI AWS 管理主控台、 或服務 API 分別刪除這些資源。