使用 AWS CLI 啟用和停用 CloudTrail 日誌檔案加密 - AWS CloudTrail

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

使用 AWS CLI 啟用和停用 CloudTrail 日誌檔案加密

此主題說明如何使用 AWS CLI 啟用和停用 CloudTrail 的 SSE-KMS 日誌檔案加密。如需背景資訊,請參閱使用 AWS KMS 金鑰加密 CloudTrail 記錄檔 (SSE-KMS)

使用 AWS CLI 啟用 CloudTrail 日誌檔案加密

啟用追蹤的日誌檔案加密
  1. 使用 AWS CLI 建立金鑰。您建立的金鑰必須位在與收到您 CloudTrail 日誌檔案之 S3 儲存貯體相同的區域中。在此步驟中,您可以使用 AWS KMS create-key 命令。

  2. 取得現有金鑰政策,讓您可以將其修改以搭配 CloudTrail 使用。您可以使用 AWS KMS get-key-policy 命令擷取金鑰政策。

  3. 將必要的區段新增至金鑰政策,讓 CloudTrail 可以加密,並讓使用者可以解密日誌檔案。確定將解密許可授予所有讀取日誌檔案的使用者。請不要變更任何政策的現有區段。如需要包含之政策區段的詳細資訊,請參閱 設定 CloudTrail 的 AWS KMS 金鑰政策

  4. 使用 AWS KMS put-key-policy 命令,將修改過的 JSON 政策檔案連接至金鑰。

  5. 執行具有 --kms-key-id 參數的 CloudTrail create-trailupdate-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": "my-bucket-name" }

    KmsKeyId 元素的存在指出已啟用日誌檔案加密。加密日誌檔案應該會在大約 5 分鐘內出現在您的儲存貯體中。

啟用事件資料存放區的日誌檔案加密
  1. 使用 AWS CLI 建立金鑰。您建立的金鑰必須與事件資料存放區位於相同區域中。在此步驟中,請執行 AWS KMS create-key 命令。

  2. 取得現有金鑰政策對其進行編輯以搭配 CloudTrail 使用。您可以透過執行 AWS KMS get-key-policy 命令來取得金鑰政策。

  3. 將必要的區段新增至金鑰政策,讓 CloudTrail 可以加密,並讓使用者可以解密日誌檔案。確定將解密許可授予所有讀取日誌檔案的使用者。請不要變更任何政策的現有區段。如需要包含之政策區段的詳細資訊,請參閱 設定 CloudTrail 的 AWS KMS 金鑰政策

  4. 執行 AWS KMS put-key-policy 命令,將經過編輯的 JSON 政策檔案連接至金鑰。

  5. 執行 CloudTrail create-event-data-storeupdate-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 元素的存在指出已啟用日誌檔案加密。加密日誌檔案應該會在大約 5 分鐘內出現在您的事件資料存放區中。

使用 AWS CLI 停用 CloudTrail 日誌檔案加密

若要停止加密追蹤中的日誌,請執行 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": "my-bucket-name" }

沒有 KmsKeyId 值指出不再啟用日誌檔案加密。

重要

您無法停止事件資料存放區上的日誌檔案加密。