

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

# 使用 啟用和停用 CloudTrail 日誌檔案、摘要檔案和事件資料存放區的加密 AWS CLI
<a name="cloudtrail-log-file-encryption-cli"></a>

本主題說明如何使用 啟用和停用 CloudTrail 日誌檔案、摘要檔案和事件資料存放區的 SSE-KMS 加密 AWS CLI。如需背景資訊，請參閱[使用 AWS KMS 金鑰加密 CloudTrail 日誌檔案、摘要檔案和事件資料存放區 (SSE-KMS)](encrypting-cloudtrail-log-files-with-aws-kms.md)。

**Topics**
+ [使用 啟用 CloudTrail 日誌檔案、摘要檔案和事件資料存放區的加密 AWS CLI](#cloudtrail-log-file-encryption-cli-enable)
+ [使用 停用日誌檔案和摘要檔案的加密 AWS CLI](#cloudtrail-log-file-encryption-cli-disable)

## 使用 啟用 CloudTrail 日誌檔案、摘要檔案和事件資料存放區的加密 AWS CLI
<a name="cloudtrail-log-file-encryption-cli-enable"></a>
+ [啟用追蹤的日誌檔案和摘要檔案加密](#log-encryption-trail)
+ [啟用事件資料存放區的加密](#log-encryption-eds)<a name="log-encryption-trail"></a>

**啟用追蹤日誌檔案和摘要檔案的加密**

1. 使用 AWS CLI建立金鑰。您建立的金鑰必須位在與收到您 CloudTrail 日誌檔案之 S3 儲存貯體相同的區域中。在此步驟中 AWS KMS [https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html](https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html)，您可以使用 命令。

1. 取得現有金鑰政策，讓您可以將其修改以搭配 CloudTrail 使用。您可以使用 命令擷取金鑰政策 AWS KMS [https://docs.aws.amazon.com/cli/latest/reference/kms/get-key-policy.html](https://docs.aws.amazon.com/cli/latest/reference/kms/get-key-policy.html)。

1. 將必要的區段新增至金鑰政策，以便 CloudTrail 加密，使用者可以解密您的日誌檔案和摘要檔案。確定將解密許可授予所有讀取日誌檔案的使用者。請不要變更任何政策的現有區段。如需要包含之政策區段的詳細資訊，請參閱 [設定 CloudTrail 的 AWS KMS 金鑰政策](create-kms-key-policy-for-cloudtrail.md)。

1. 使用 命令將修改過的 AWS KMS [https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html](https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html) JSON 政策檔案連接至金鑰。

1. 執行具有 `--kms-key-id` 參數的 CloudTrail `create-trail` 或 `update-trail` 命令。此命令會啟用日誌檔案和摘要檔案的加密。

   ```
   aws cloudtrail update-trail --name Default --kms-key-id alias/MyKmsKey
   ```

   `--kms-key-id` 參數指定您針對 CloudTrail 修改其政策的金鑰。它可以是下列格式中的任何一種：
   + **別名**。範例：`alias/MyAliasName`
   + **別名 ARN**。範例：`arn:aws:kms:us-east-2:123456789012:alias/MyAliasName`
   + **金鑰 ARN**。範例：`arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012`
   + **全域唯一金鑰 ID。**範例：`12345678-1234-1234-1234-123456789012`

   以下是回應範例：

   ```
   {
       "IncludeGlobalServiceEvents": true, 
       "Name": "Default", 
       "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Default", 
       "LogFileValidationEnabled": false,
       "KmsKeyId": "arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012", 
       "S3BucketName": "amzn-s3-demo-bucket"
   }
   ```

   `KmsKeyId` 元素的存在表示已啟用日誌檔案的加密。如果日誌檔案驗證已啟用 （由設定為 true 的 `LogFileValidationEnabled`元素表示），這也表示已啟用摘要檔案的加密。加密的日誌檔案和摘要檔案應該會在大約 5 分鐘內出現在為追蹤設定的 S3 儲存貯體中。<a name="log-encryption-eds"></a>

**啟用事件資料存放區的加密**

1. 使用 AWS CLI建立金鑰。您建立的金鑰必須與事件資料存放區位於相同區域中。在此步驟中 AWS KMS [https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html](https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html)，請執行 命令。

1. 取得現有金鑰政策對其進行編輯以搭配 CloudTrail 使用。您可以執行 AWS KMS [https://docs.aws.amazon.com/cli/latest/reference/kms/get-key-policy.html](https://docs.aws.amazon.com/cli/latest/reference/kms/get-key-policy.html) 命令來取得金鑰政策。

1. 將必要的區段新增至金鑰政策，以便 CloudTrail 加密，使用者可以解密您的事件資料存放區。確定讀取事件資料存放區的所有使用者都獲得解密許可。請不要變更任何政策的現有區段。如需要包含之政策區段的詳細資訊，請參閱 [設定 CloudTrail 的 AWS KMS 金鑰政策](create-kms-key-policy-for-cloudtrail.md)。

1. 執行 AWS KMS [put-key-policy](https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html) 命令，將編輯的 JSON 政策檔案連接至金鑰。

1. 執行 CloudTrail `create-event-data-store` 或 `update-event-data-store` 命令，並新增 `--kms-key-id` 參數。此命令會啟用事件資料存放區的加密。

   ```
   aws cloudtrail update-event-data-store --name my-event-data-store --kms-key-id alias/MyKmsKey
   ```

   `--kms-key-id` 參數指定您針對 CloudTrail 修改其政策的金鑰。它可以是下列四種格式中的任何一種：
   + **別名**。範例：`alias/MyAliasName`
   + **別名 ARN**。範例：`arn:aws:kms:us-east-2:123456789012:alias/MyAliasName`
   + **金鑰 ARN**。範例：`arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012`
   + **全域唯一金鑰 ID。**範例：`12345678-1234-1234-1234-123456789012`

   以下是回應範例：

   ```
   {
       "Name": "my-event-data-store",
       "ARN": "arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE",
       "RetentionPeriod": "90",
       "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
       "MultiRegionEnabled": false,
       "OrganizationEnabled": false,
       "TerminationProtectionEnabled": true,
       "AdvancedEventSelectors": [{
           "Name": "Select all external events",
           "FieldSelectors": [{
               "Field": "eventCategory",
               "Equals": [
                   "ActivityAuditLog"
               ]
           }]
       }]
   }
   ```

   `KmsKeyId` 元素的存在表示事件資料存放區的加密已啟用。

## 使用 停用日誌檔案和摘要檔案的加密 AWS CLI
<a name="cloudtrail-log-file-encryption-cli-disable"></a>

若要停止加密追蹤的日誌檔案和摘要檔案，請執行並`update-trail`傳遞空字串至 `kms-key-id` 參數：

```
aws cloudtrail update-trail --name my-test-trail --kms-key-id ""
```

以下是回應範例：

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

缺少 `KmsKeyId`值表示日誌檔案和摘要檔案的加密不再啟用。

**重要**  
您無法停止事件資料存放區的加密。