创建检测待删除 KMS 密钥的使用的警报
可将 AWS CloudTrail、Amazon CloudWatch Logs 和 Amazon Simple Notification Service (Amazon SNS) 的功能结合使用,以创建在您账户中的某个人员尝试使用等待删除的 KMS 密钥时向您发送通知的 Amazon CloudWatch 警报。如果您收到此通知,则可能要取消删除该 KMS 密钥并重新考虑删除它的决定。
以下过程创建在 "" 错误消息写入 CloudTrail 日志文件时向您发送通知的警报。此错误消息指示有人或应用程序尝试在加密操作中使用该 KMS 密钥。由于通知链接至错误消息,因此,当您使用待删除的 KMS 密钥中允许的 API 操作时(例如 Key ARN is pending deletionListKeys、CancelKeyDeletion 和 PutKeyPolicy),不会触发该通知。要查看返回此错误消息的 AWS KMS API 操作的列表,请参阅AWS KMS 密钥的密钥状态。
您收到的通知电子邮件不会列出 KMS 密钥或加密操作。可在 CloudTrail 日志中找到此信息。电子邮件会报告警报状态已从 OK (正常) 变为 Alarm (警报)。有关 CloudWatch 警报和状态更改的更多信息,请参阅 Amazon CloudWatch 用户指南 中的使用 Amazon CloudWatch 警报。
警告
此 Amazon CloudWatch 告警无法检测到 AWS KMS 外部非对称 KMS 密钥的公有密钥的使用情况。有关删除用于公有密钥加密的非对称 KMS 密钥的特殊风险的详细信息,包括创建无法解密的密文,请参阅 Deleting asymmetric KMS keys。
在此过程中,您将创建 CloudWatch 日志组指标筛选条件 ,用于查找待删除异常的实例。然后,您根据日志组指标创建 ClouDWatch 警报。有关日志组指标筛选条件更多信息,请参阅《Amazon CloudWatch Logs 用户指南》中的使用筛选条件从日志事件创建指标。
-
创建一个解析 CloudTrail 日志的 CloudWatch 指标筛选条件。
使用以下必填值,按照为日志组创建指标筛选条件中的说明进行操作。对于其他字段,请接受默认值并按要求提供名称。
Field Value 筛选条件模式 { $.eventSource = kms* && $.errorMessage = "* is pending deletion."}指标值 1 -
根据您在步骤 1 中创建的指标筛选条件创建 CloudWatch 警报。
使用以下必填值,按照根据日志组指标筛选条件创建 CloudWatch 警报中的说明进行操作。对于其他字段,请接受默认值并按要求提供名称。
Field Value 指标筛选条件 您在步骤 1 中创建的指标筛选条件名称。
阈值类型 静态 条件 每当 metric-name大于/等于1时要发出警报的数据点 1/1缺失数据处理 将缺失的数据作为好处理 (未超出阈值)
完成此过程后,每当新的 CloudWatch 警报进入 ALARM 状态时,您都会收到通知。如果您收到此警报的通知,可能意味着仍然需要计划删除的 KMS 密钥来加密或解密数据。在这种情况下,请取消删除 KMS 密钥并重新考虑删除它的决定。