使用 Amazon CloudWatch 监控
您可以使用 Amazon CloudWatch 监控 Amazon KMS keys,这是一项 Amazon 服务,可从 Amazon KMS 收集原始数据,并将数据处理为便于读取的近乎实时的指标。这些数据会保存两周,从而使您能够访问历史信息,并更好地了解您 KMS 密钥的使用情况及其随时间推移而发生的变化。有关 Amazon CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南。
您可以创建 CloudWatch 告警在这些指标的值发生变化时向您发出提示。例如,您可以创建 Amazon CloudWatch 告警,当您的请求速率达到配额值的特定百分比时向您发出提示。有关详细信息,请参阅 Amazon 安全博客中使用 Service Quotas 和 Amazon CloudWatch 管理您的 Amazon KMS API 请求速度
您也可以创建自定义指标。例如,您可以创建一个指标和一个配套告警,在出现尝试使用待删除的 KMS 密钥操作时向您发出提示。
此外,您还可以监控 KMS 密钥生命周期中的选定事件。有关详细信息,请参阅使用 Amazon EventBridge 监控 。
Amazon KMS 指标和维度
当您将密钥材料导入 KMS 密钥中并将其设置为过期时,Amazon KMS 会向 CloudWatch 发送指标和维度。您可以使用 Amazon Web Services Management Console 和 Amazon CloudWatch API 查看 Amazon KMS 指标。
Amazon KMS 指标
AWS/KMS 命名空间包括以下指标。
- SecondsUntilKeyMaterialExpiration
-
此指标跟踪导入的密钥材料过期之前剩余的秒数。此指标仅对源为
EXTERNAL并且密钥材料已经过期或已设置为过期的 KMS 密钥有效。该指标最有用的统计数据是Minimum,它会告诉您指定统计周期内所有数据点的最小剩余时间。此指标的唯一有效单位是Seconds。使用此指标可以跟踪所导入密钥材料的到期之前剩余时间。当该时间量低于您定义的阈值时,您可能需要采取措施,例如重新导入密钥材料并设置新的到期日期。您可以创建 CloudWatch 告警以在此情况发生时向您发出通知。有关更多信息,请参阅创建 CloudWatch 告警以监控 Amazon KMS 指标。
Amazon KMS 指标的维度
Amazon KMS 指标使用 AWS/KMS 命名空间并且只有一个有效的维度:KeyId。您可以使用此维度查看特定 KMS 密钥或 KMS 密钥集的指标数据。
如何查看 Amazon KMS 指标?
您可以使用 Amazon Web Services Management Console 和 Amazon CloudWatch API 查看 Amazon KMS 指标。
使用 CloudWatch 控制台查看指标
通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/
。 -
如果需要,可以更改区域。从导航栏中,选择 Amazon 资源所在的区域。
-
在导航窗格中,选择 Metrics(指标)。
-
在内容窗格中,选择 All metrics 选项卡。然后,在 Amazon Namespaces 下选择 KMS。
-
选择 Per-Key Metrics 以查看单独的指标和维度。
要使用 Amazon CloudWatch API 查看指标
要使用 CloudWatch API 查看 Amazon KMS 指标,请发送一个 ListMetrics 请求,并将 Namespace 设置为 AWS/KMS。以下示例说明如何使用 Amazon Command Line Interface (Amazon CLI)
$ aws cloudwatch list-metrics --namespace AWS/KMS
创建 CloudWatch 告警以监控 Amazon KMS 指标
您可以创建 CloudWatch 告警,使其在指标的值发生改变并导致报警改变状态时发送 Amazon SNS 消息。警报会每隔一段时间 (由您指定) 监控一个指标,并根据相对于给定阈值的指标值每隔若干个时间段执行一项或多项操作。操作是一个发送到 Amazon SNS 主题或 Auto Scaling 策略的通知。警报只会调用操作进行持续的状态变更。CloudWatch 告警不调用操作,因为这些操作处于特定状态;状态必须改变并保持指定时间。
创建 CloudWatch 告警以监控已导入密钥材料的到期时间
当您将密钥材料导入 KMS 密钥中时,您可以选择性地指定密钥材料的过期时间。当密钥材料过期后,Amazon KMS 将删除密钥材料,并且 KMS 密钥将变为不可用。要再次使用该 KMS 密钥,您必须重新导入密钥材料。您可以创建 CloudWatch 告警,以在导入的密钥材料过期之前的剩余时间量低于您定义的阈值(例如,10 天)时通知您。如果您收到此类警报的通知,您可能需要采取措施,例如重新导入密钥材料并设置新的到期日期。
创建警报以监控已导入密钥材料的到期时间(Amazon Web Services Management Console)
通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/
。 -
如果需要,可以更改区域。从导航栏中,选择 Amazon 资源所在的区域。
-
在导航窗格中,选择 Alarms (告警)。然后选择 Create Alarm (创建警报)。
-
选择 Browse Metrics,然后选择 KMS。
-
选中要监控的 KMS 密钥的密钥 ID 旁的复选框。
-
在下方窗格中,使用菜单将统计数据更改为 Minimum 并将时间段设置为 1 Minute。然后选择下一步。
-
在 Create Alarm 窗口中,执行以下操作:
-
对于 Name (名称),键入一个名称,如
KeyMaterialExpiresSoon。 -
对于随后的 Whenever: (每当:),为 is: (是:) 选择 <=,然后键入阈值的秒数。例如,如果要在所导入密钥材料的到期之前剩余时间不超过 10 天时获得通知,则键入
864000。 -
对于 for consecutive period(s) (对于连续周期),键入
1(如果需要)。 -
对于Send notification to:,执行以下操作之一:
-
要使用新的 Amazon SNS 主题,请选择 New list(新列表),然后键入新主题的名称。对于 Email list:,键入至少一个电子邮件地址。您可以键入多个电子邮件地址,并使用逗号将它们隔开。
-
要使用现有 Amazon SNS 主题,请选择要使用的主题的名称。
-
-
选择 Create Alarm(创建告警)。
-
-
如果您选择将通知发送到某个电子邮件地址,请打开从 no-reply@sns.amazonaws.com 收到的主题为“Amazon Notification - Subscription Confirmation”的电子邮件。选择电子邮件中的 Confirm subscription 链接以确认您的电子邮件地址。
重要 确认电子邮件地址后,您才会收到电子邮件通知。
创建 CloudWatch 告警以监控待删除的 KMS 密钥的使用情况
当您为 KMS 密钥计划密钥删除时,Amazon KMS 会强制执行一段等待期,然后再删除 KMS 密钥。您可以利用这段等待期来确保现在或将来都不需要 KMS 密钥。您还可以配置 CloudWatch 告警,使其在有人员或应用程序在等待期间试图使用 KMS 密钥时发出警告。如果您收到来自此类告警的通知,您可能需要取消删除 KMS 密钥。
有关更多信息,请参阅创建 Amazon CloudWatch 警告以检测待删除的 Amazon KMS key 的使用情况。