本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控计划删除的 AWS Secrets Manager 密钥何时被访问
您可以结合使用 Amazon CloudWatch 日志和亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 来创建警报,通知您任何试图访问待删除的密钥的行为。 AWS CloudTrail如果您收到告警的通知,您可能需要取消删除密钥,以给自己更多时间来确定是否确实要将其删除。您的调查可能会导致密钥被恢复,因为您仍然需要它。或者,您可能需要使用所用的新密钥的详细信息来更新用户。
以下过程说明了当请求GetSecretValue
操作导致将特定错误消息写入 CloudTrail 日志文件时,如何收到通知。可以对密钥执行其他 API 操作而不会触发告警。此 CloudWatch 警报检测到可能表明某人或应用程序使用过期凭证的使用情况。
在开始这些过程之前,您必须在要监控 AWS Secrets Manager API 请求的 AWS 区域 和账户 CloudTrail 中开启。有关说明,请参阅 AWS CloudTrail 《用户指南》中的首次创建跟踪。
步骤 1:配置 CloudTrail 日志文件传输到 CloudWatch 日志
您必须配置将 CloudTrail 日志文件传送到 CloudWatch 日志。这样做是为了让 CloudWatch Logs 可以监控它们是否有 Secrets Manager API 请求以检索待删除的密钥。
配置 CloudTrail 日志文件传输到 CloudWatch 日志
-
打开 CloudTrail 控制台,网址为 https://console.aws.amazon.com/cloudtrail/
。 -
在顶部导航栏上,选择 AWS 区域 要监控密钥。
-
在左侧导航窗格中,选择 Tra il s,然后选择要为其配置的跟踪的名称 CloudWatch。
-
在 T rails 配置页面上,向下滚动到 “CloudWatch 日志” 部分,然后选择编辑图标 (
)。
-
对于 New or existing log group (新的或现有的日志组),键入日志组的名称,例如
CloudTrail/MyCloudWatchLogGroup
。 -
对于 IAM 角色,您可以使用名为 CloudTrail_ CloudWatchLogs _Role 的默认角色。此角色具有默认角色策略,该策略具有向日志组传送 CloudTrail 事件所需的权限。
-
选择 Continue (继续) 以保存您的配置。
-
在AWS CloudTrail 将与您账户中 API 活动关联 CloudTrail 的事件发送到 CloudWatch 日志日志组页面上,选择允许。
步骤 2:创建 CloudWatch警报
要在 Secrets Manager GetSecretValue
API 操作请求访问待删除的密钥时收到通知,您必须创建 CloudWatch 警报并配置通知。
创建 CloudWatch 警报
-
登录 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/
。 -
在顶部导航栏上,选择要监控密钥的 AWS 区域。
-
在左侧导航窗格中,选择 Logs。
-
在日志组列表中,选中您在上一个过程中创建的日志组旁边的复选框,例如 CloudTrail/MyCloudWatchLogGroup。选择创建指标筛选器。
-
对于筛选模式,键入或粘贴以下内容:
{ $.eventName = "GetSecretValue" && $.errorMessage = "*secret because it was marked for deletion*" }
选择 Assign Metric (分配指标)。
-
在 Create Metric Filter and Assign a Metric 页面上,执行以下操作:
-
对于 Metric Namespace (指标命名空间),键入
CloudTrailLogMetrics
。 -
对于 Metric Name(指标名称),键入
AttemptsToAccessDeletedSecrets
。 -
选择显示高级指标设置,如有必要,再为 Metric Value (指标值) 键入
1
。 -
选择 Create Filter。
-
-
在筛选器框中,选择 Create Alarm。
-
在 Create Alarm 窗口中,执行以下操作:
-
对于名称,键入
AttemptsToAccessDeletedSecretsAlarm
。 -
在 Whenever: (每当:) 下,为 is: (是:) 选择 >= 并键入
1
。 -
在 Send notification to: 旁,执行以下操作之一:
-
要创建并使用新的 Amazon SNS 主题,请选择新建列表,然后键入新主题的名称。对于 Email list:,键入至少一个电子邮件地址。您可以键入多个电子邮件地址,并使用逗号将它们隔开。
-
要使用现有 Amazon SNS 主题,请选择要使用的主题的名称。如果列表不存在,请选择 Select list (选择列表)。
-
-
选择创建警报。
-
步骤 3:测试 CloudWatch警报
要测试告警,请创建密钥,并计划将其删除。然后,尝试检索密钥值。您在告警中配置的地址很快会收到一封电子邮件。它提醒您注意计划删除的密钥的使用情况。