本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用记录 AWS KMS API通话 AWS CloudTrail
AWS KMS 与记录用户AWS CloudTrail、角色和其他服务的所有呼叫 AWS KMS 的 AWS 服务集成。 CloudTrail 将所有对的API调用捕获 AWS KMS 为事件,包括来自 AWS KMS 控制台 AWS KMS APIs、、 AWS CloudFormation 模板、 AWS Command Line Interface (AWS CLI) 和 AWS Tools for PowerShell。
CloudTrail 记录所有 AWS KMS 操作,包括只读操作(例如ListAliases和)GetKeyRotationStatus、管理KMS密钥的操作(例如CreateKey和 PutKeyPolicy)以及加密操作(例如GenerateDataKey和解密)。它还会记录 AWS KMS 需要您的内部操作,例如DeleteExpiredKeyMaterial、DeleteKeySynchronizeMultiRegionKey、和RotateKey。
CloudTrail 记录成功的操作和失败的尝试调用,例如当呼叫者被拒绝访问资源时。对KMS密钥的跨账户操作同时记录在调用者账户和KMS密钥所有者账户中。但是,因访问被拒绝而被拒绝的跨账户 AWS KMS 请求仅记录在来电者的账户中。
出于安全考虑, AWS KMS 日志条目中省略了某些字段,例如 E n crypt 请求的Plaintext
参数以及对GetKeyPolicy任何加密操作的响应。为了便于搜索特定KMS密钥的 CloudTrail 日志条目,即使API操作未返回密钥,也要将受影响KMS密钥的 AWS KMS 密钥 AWS KMS 添加到某些密钥管理操作的日志条目的responseElements字段中ARN。ARN
尽管默认情况下,所有 AWS KMS 操作都记录为 CloudTrail 事件,但您可以从 CloudTrail 跟踪中排除 AWS KMS 操作。有关详细信息,请参阅从跟踪中排除 AWS KMS 事件。
了解更多:
-
有关 AWS Nitro 飞地 AWS KMS 操作的 CloudTrail 日志示例,请参阅。监控 Nitro Enclave 的请求
在中查找 AWS KMS 日志条目 CloudTrail
要搜索 CloudTrail 日志条目,请使用CloudTrail 控制台或CloudTrail LookupEvents操作。 CloudTrail 支持用于筛选搜索的多种属性值,包括事件名称、用户名和事件源。
为了帮助您在中搜索 AWS KMS 日志条目 CloudTrail,请 AWS KMS 填充以下 CloudTrail 日志条目字段。
注意
从 2022 年 12 月开始,在更改特定KMS密钥的所有管理操作中 AWS KMS 填充资源类型和资源名称属性。在以下操作的旧 CloudTrail 条目中,这些属性值可能为空:CreateAliasCreateGrant、DeleteAlias、DeleteImportedKeyMaterial、ImportKeyMaterial、ReplicateKey、RetireGrant、RevokeGrant、UpdateAlias、和UpdatePrimaryRegion。
属性 | 值 | 日志条目 |
---|---|---|
事件源(EventSource ) |
kms.amazonaws.com |
全部操作。 |
资源类型(ResourceType ) |
AWS::KMS::Key |
更改特定KMS密钥的管理操作,例如CreateKey 和EnableKey ,但不是ListKeys 。 |
资源名称(ResourceName ) |
密钥ARN(或密钥 ID 和密钥ARN) | 更改特定KMS密钥的管理操作,例如CreateKey 和EnableKey ,但不是ListKeys 。 |
为了帮助您查找针对特定KMS密钥进行管理操作的日志条目,即使 AWS KMS API操作未返回KMS密钥ARN,也会在日志条目的responseElements.keyId
元素中 AWS KMS
记录受影响密钥的密钥ARN。
例如,成功调用DisableKey操作不会在响应中返回任何值,但DisableKey 日志条目中的值不是空responseElements.keyId
值,而是包含禁用密钥ARN的KMS密钥。
此功能于 2022 年 12 月添加,会影响以下 CloudTrail 日志条目:CreateAlias、CreateGrant、DeleteAlias、DeleteKey、DisableKey、、EnableKey、EnableKeyRotation、ImportKeyMaterial、RotateKey、、SynchronizeMultiRegionKey、TagResource、UntagResource、UpdateAlias、、和UpdatePrimaryRegion。
从跟踪中排除 AWS KMS 事件
为了记录其 AWS KMS 资源的使用和管理情况,大多数 AWS KMS 用户都依赖 CloudTrail 跟踪中的事件。该跟踪可以成为审核关键事件的重要数据来源,例如创建、禁用和删除 AWS KMS keys、更改密钥策略以及 AWS 服务代表您使用您的KMS密钥。在某些情况下, CloudTrail 日志条目中的元数据(例如加密操作中的加密上下文)可以帮助您避免或解决错误。
但是,由于 AWS KMS 可以生成大量事件,因此 AWS CloudTrail 允许您从跟踪中排除 AWS KMS 事件。此按跟踪设置排除所有 AWS KMS 事件;您不能排除特定 AWS KMS 事件。
警告
从 CloudTrail 日志中排除 AWS KMS 事件可能会掩盖使用您的KMS密钥的操作。请谨慎赋予委托人执行此操作所需的 cloudtrail:PutEventSelectors
权限。
要从跟踪中排除 AWS KMS 事件,请执行以下操作:
-
在 CloudTrail 控制台中,创建跟踪或更新跟踪时,请使用日志密钥管理服务事件设置。有关说明,请参阅《 AWS CloudTrail 用户指南》AWS Management Console中的 “使用记录管理事件”。
-
在中 CloudTrail API,使用PutEventSelectors操作。将
ExcludeManagementEventSources
属性添加到值为kms.amazonaws.com
的事件选择器中。有关示例,请参阅《 AWS CloudTrail 用户指南》中的示例:不记录 AWS Key Management Service 事件的跟踪。
您可以随时更改控制台设置或跟踪的事件选择器,以禁用此排除。然后,跟踪将开始记录 AWS KMS 事件。但是,它无法恢复排除生效期间发生 AWS KMS 的事件。
当您使用控制台或排除 AWS KMS 事件时API,生成的 CloudTrailPutEventSelectors
API操作也会记录在您的 CloudTrail 日志中。如果 AWS KMS
事件未出现在您的 CloudTrail 日志中,请查找ExcludeManagementEventSources
属性设置为PutEventSelectors
的事件kms.amazonaws.com
。