使用 AWS KMS 记录 AWS CloudTrail API 调用 - AWS Key Management Service

使用 AWS KMS 记录 AWS CloudTrail API 调用

AWS KMS 与 AWS CloudTrail 进行了集成,后者是一项纪录用户、角色和其他 AWS 服务对 AWS KMS 进行的所有调用的服务。CloudTrail 将对 AWS KMS 的所有 API 调用均作为事件捕获,包括来自 AWS KMS 控制台、AWS KMS API、AWS Command Line Interface (AWS CLI) 和 AWS Tools for PowerShell 的调用。

CloudTrail 记录所有 AWS KMS 操作(包括只读操作),如 ListAliasesGetKeyRotationStatus,管理 KMS 密钥的操作,例如 CreateKeyPutKeyPolicy,以及加密操作,例如 GenerateDataKeyDecrypt

CloudTrail 记录成功的操作和失败的尝试调用,例如当调用方被拒绝访问资源时。在其他账户中使用 KMS 密钥的操作将记录在调用方的账户和 KMS 密钥所有者账户中。但是,因访问被拒绝而受到拒绝的跨账户 AWS KMS 请求仅记录在发起人的账户中。

出于安全原因,有些字段将从 AWS KMS 日志条目中省略,例如 Encrypt 请求的 Plaintext 参数,以及对 GetKeyPolicy 或任何加密操作的响应。

尽管默认情况下,所有 AWS KMS 操作都记录为 CloudTrail 事件,但您可以从 CloudTrail 跟踪中排除 AWS KMS 操作。有关详细信息,请参阅从跟踪中排除 AWS KMS 事件

在 CloudTrail 中记录事件

在您创建 AWS 账户 时,将在该账户上启用 CloudTrail。当 AWS KMS 中发生活动时,该活动将记录在 CloudTrail 事件中,并与其它 AWS 服务事件一同保存在 Event history(事件历史记录)中。您可以在 AWS 账户中查看、搜索和下载最新事件。有关更多信息,请参阅使用 CloudTrail 事件历史记录查看事件

对于AWS 账户中的事件的持续记录(包括 AWS KMS 的事件),请创建跟踪记录。通过跟踪,CloudTrail 可将日志文件传送至 Amazon S3 存储桶。默认情况下,在控制台中创建跟踪记录时,此跟踪记录应用于所有 区域。此跟踪记录在 AWS 分区中记录所有区域中的事件,并将日志文件传送至您指定的 Simple Storage Service(Amazon S3)存储桶。此外,您可以配置其他AWS服务,进一步分析在 CloudTrail 日志中收集的事件数据并采取行动。有关更多信息,请参阅:

要了解有关 CloudTrail 的更多信息,请参阅《AWS CloudTrail 用户指南》。要了解监控 KMS 密钥使用情况的其他方式,请参阅 监控 AWS KMS keys

每个事件或日志条目都包含有关生成请求的人员信息。身份信息可帮助您确定以下内容:

  • 请求是使用根用户凭证还是 IAM 用户凭证发出的。

  • 请求是使用角色还是联合身份用户的临时安全凭证发出的。

  • 请求是否由其他 AWS 服务发出。

有关更多信息,请参阅 CloudTrail userIdentity 元素

从跟踪中排除 AWS KMS 事件

大多数 AWS KMS 用户依靠 CloudTrail 跟踪中的事件来提供其 AWS KMS 资源的使用和管理记录。跟踪可以成为审核关键事件的宝贵数据来源,例如,创建、禁用和删除 AWS KMS keys,更改密钥策略以及 AWS 服务代表您使用 KMS 密钥。在某些情况下,CloudTrail 日志条目中的元数据(如加密操作中的加密上下文)可以帮助您避免或解决错误。

但是,由于 AWS KMS 可以生成大量事件,因此 AWS CloudTrail 允许您从跟踪中排除 AWS KMS 事件。此按跟踪设置会排除所有 AWS KMS 事件。您不能排除特定 AWS KMS 事件。

警告

从 CloudTrail 日志中排除 AWS KMS 事件可能会掩盖使用 KMS 密钥的操作。请谨慎赋予委托人执行此操作所需的 cloudtrail:PutEventSelectors 权限。

要从跟踪中排除 AWS KMS 事件,请执行以下操作:

您可以随时更改控制台设置或跟踪的事件选择器,以禁用此排除。随后,跟踪将开始记录 AWS KMS 事件。但是,它无法恢复在排除生效期间发生的 AWS KMS 事件。

使用控制台或 API 排除 AWS KMS 事件时,生成的 CloudTrail PutEventSelectors API 操作也会记录在 CloudTrail 日志中。如果 AWS KMS 事件未显示在 CloudTrail 日志中,请查找 ExcludeManagementEventSources 属性设置为 kms.amazonaws.comPutEventSelectors 事件。