AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 AWS CLI 启用和禁用 CloudTrail 日志文件加密

本主题介绍如何使用 AWS CLI 启用和禁用 CloudTrail SSE-KMS 日志文件加密。有关背景信息,请参阅通过 AWS KMS 托管密钥 (SSE-KMS) 加密 CloudTrail 日志文件

使用 CloudTrail 启用 AWS CLI 日志文件加密

  1. 使用 AWS CLI 创建密钥。您创建的密钥必须与接收 CloudTrail 日志文件的 S3 存储桶位于同一个区域。在本步骤中,您将使用 KMS create-key 命令。

  2. 获取现有密钥策略,以便您能够修改它以使其适用于 CloudTrail。您可以使用 KMS get-key-policy 命令检索密钥策略。

  3. 向密钥策略添加必要的部分,以便 CloudTrail 能够加密、用户能够解密您的日志文件。确保为需要阅读此日志文件的所有用户授予解密权限。请勿修改策略的任意现有部分。有关要包含的策略部分的信息,请参阅用于 CloudTrail 的 AWS KMS 密钥策略

  4. 使用 KMS put-key-policy 命令将修改后的 .json 策略文件挂载到密钥。

  5. 运行 CloudTrail create-trailupdate-trail 命令并指定 --kms-key-id 参数。此命令将启用日志加密。

    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 元素,则表示已启用日志文件加密功能。加密日志文件应在约 10 分钟内出现在您的存储桶中。

使用 AWS CLI 禁用 CloudTrail 日志文件加密

要停止加密日志,请调用 update-trail 并向 kms-key-id 参数传递一个空字符串:

aws cloudtrail update-trail --name Default --kms-key-id ""

响应看起来与以下内容类似:

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

如果不存在 KmsKeyId 元素,则表示已停用日志文件加密功能。