通过 Amazon KMS 托管密钥 (SSE-KMS) 加密 CloudTrail 日志文件 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

通过 Amazon KMS 托管密钥 (SSE-KMS) 加密 CloudTrail 日志文件

预设情况下,CloudTrail 提交到您存储桶的日志文件是用 Amazon S3 托管加密密钥 (SSE-S3) 通过 Amazon 服务器端加密进行加密的。要提供可直接管理的安全层,您可以对 CloudTrail 日志文件改为使用 Amazon KMS 托管密钥的服务器端加密 (SSE-KMS)

注意

启用服务器端加密将使用 SSE-KMS 加密日志文件而不加密摘要文件。摘要文件使用 Amazon S3 托管加密密钥 (SSE-S3) 加密。

如果您通过 S3 存储桶密钥使用现有 S3 存储桶,则必须在密钥策略中允许 CloudTrail 使用 Amazon KMS 操作 GenerateDataKeyDescribeKey。如果未在密钥策略中授予 cloudtrail.amazonaws.com 这些权限,则无法创建或更新跟踪。

要对 CloudTrail 使用 SSE-KMS,您需要创建并管理 KMS 密钥,又称为 Amazon KMS key。您将向密钥附加策略,该策略规定哪些用户可以使用该密钥加密和解密 CloudTrail 日志文件。通过 S3 可实现无缝解密。当密钥的授权用户读取 CloudTrail 日志文件时,S3 管理解密,授权用户可以读取未加密形式的日志文件。

这种方法有以下优势:

  • 您可以自行创建和管理 KMS 密钥加密密钥。

  • 您可以使用单个 KMS 密钥对所有区域中的多个账户的日志文件进行加密和解密。

  • 您可以控制哪些人可以使用您的密钥加密和解密 CloudTrail 日志文件。您可以根据自己的要求,将密钥的权限分配给组织中的用户。

  • 安全性更高。使用此功能时,为了读取日志文件,需要以下权限:

    • 用户必须对包含日志文件的存储桶具有 S3 读取权限。

    • 用户还必须应用了允许通过 KMS 密钥策略解密权限的策略或角色。

  • 因为 S3 自动针对获得授权可以使用 KMS 密钥的用户的请求解密日志文件,所以 CloudTrail 日志文件的 SSE-KMS 加密与读取 CloudTrail 日志数据的应用程序后向兼容。

注意

您选择的 KMS 密钥必须与接收日志文件的 Amazon S3 存储桶所在的同一个 Amazon 区域中创建。例如,如果日志文件将存储在美国东部(俄亥俄)区域的存储桶中,则必须在该区域中创建一个 KMS 密钥,或者选择一个在该区域中创建的 KMS 密钥。要验证 S3 存储桶的区域,请在 Amazon S3 控制台中检查其属性。

启用日志文件加密

注意

如果您在 CloudTrail 控制台中创建 KMS 密钥,则 CloudTrail 会为您添加必需的 KMS 密钥策略部分。如果您在 IAM 控制台或 Amazon CLI 中创建了密钥,请按照这些步骤操作,您还需要手动添加必需的策略部分。

要对 CloudTrail 日志文件启用 SSE-KMS 加密,请执行以下概要步骤:

  1. 创建 KMS 密钥。

    • 有关通过 Amazon Web Services Management Console 创建 KMS 密钥的信息,请参阅 Amazon Key Management Service 开发人员指南中的创建密钥

    • 有关通过 Amazon CLI 创建 KMS 密钥的信息,请参阅 create-key

    注意

    您选择的 KMS 密钥必须与接收日志文件的 S3 存储桶位于同一个区域。要验证某个 S3 存储桶的区域,请在 S3 控制台中检查该存储桶的属性。

  2. 将策略部分添加到密钥,使 CloudTrail 可以加密并且用户可以解密日志文件。

    • 有关将包含在策略中的内容的信息,请参阅为 CloudTrail 配置 Amazon KMS 密钥策略

      警告

      请务必在策略中为需要读取日志文件的所有用户包含解密权限。如果在将密钥添加到跟踪配置前未执行此步骤,则无解密权限的用户将无法读取加密的文件,直至您向他们授予这些权限。

    • 有关使用 IAM 控制台编辑策略的信息,请参阅 Amazon Key Management Service 开发人员指南中的编辑密钥策略

    • 有关使用 Amazon CLI 将策略附加到 KMS 密钥的信息,请参阅 put-key-policy

  3. 更新您的跟踪,以便使用您针对 CloudTrail 修改了策略的 KMS 密钥。

CloudTrail 还支持 Amazon KMS 多区域密钥。有关多区域密钥的更多信息,请参阅 Amazon Key Management Service 开发人员指南中的使用多区域密钥

下一节介绍 KMS 密钥策略要求用于 CloudTrail 的策略部分。