监控计划删除的 Amazon Secrets Manager 密钥何时被访问 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

监控计划删除的 Amazon Secrets Manager 密钥何时被访问

您可以结合使用 Amazon CloudWatch 日志和亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 来创建警报,通知您任何试图访问待删除的密钥的行为。 Amazon CloudTrail如果您收到告警的通知,您可能需要取消删除密钥,以给自己更多时间来确定是否确实要将其删除。您的调查可能会导致密钥被恢复,因为您仍然需要它。或者,您可能需要使用所用的新密钥的详细信息来更新用户。

以下过程说明了当请求GetSecretValue操作导致将特定错误消息写入 CloudTrail 日志文件时,如何收到通知。可以对密钥执行其他 API 操作而不会触发告警。此 CloudWatch 警报检测到可能表明某人或应用程序使用过期凭证的使用情况。

在开始这些过程之前,您必须在要监控 Amazon Secrets Manager API 请求的 Amazon Web Services 区域 和账户 CloudTrail 中开启。有关说明,请参阅 Amazon CloudTrail 《用户指南》中的首次创建跟踪

步骤 1:配置 CloudTrail 日志文件传输到 CloudWatch 日志

您必须配置将 CloudTrail 日志文件传送到 CloudWatch 日志。这样做是为了让 CloudWatch Logs 可以监控它们是否有 Secrets Manager API 请求以检索待删除的密钥。

配置 CloudTrail 日志文件传输到 CloudWatch 日志
  1. 打开 CloudTrail 控制台,网址为 https://console.aws.amazon.com/cloudtrail/

  2. 在顶部导航栏上,选择要监控密钥的 Amazon 区域。

  3. 在左侧导航窗格中,选择 Tra il s,然后选择要为其配置的跟踪的名称 CloudWatch。

  4. 在 T rails 配置页面上,向下滚动到 “CloudWatch 日志” 部分,然后选择编辑图标 ( )。

  5. 对于 New or existing log group (新的或现有的日志组),键入日志组的名称,例如 CloudTrail/MyCloudWatchLogGroup

  6. 对于 IAM 角色,您可以使用名为 CloudTrail_ CloudWatchLogs _Role 的默认角色。此角色具有默认角色策略,该策略具有向日志组传送 CloudTrail 事件所需的权限。

  7. 选择 Continue (继续) 以保存您的配置。

  8. Amazon CloudTrail 将与您账户中 API 活动关联 CloudTrail 的事件发送到 CloudWatch 日志日志组页面上,选择允许

步骤 2:创建 CloudWatch警报

要在 Secrets Manager GetSecretValue API 操作请求访问待删除的密钥时收到通知,您必须创建 CloudWatch 警报并配置通知。

创建 CloudWatch 警报
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 登录主 CloudWatch 机。

  2. 在顶部导航栏上,选择要监控密钥的 Amazon 区域。

  3. 在左侧导航窗格中,选择 Logs

  4. 日志组列表中,选中您在上一个过程中创建的日志组旁边的复选框,例如 CloudTrail/MyCloudWatchLogGroup。选择创建指标筛选器

  5. 对于筛选模式,键入或粘贴以下内容:

    { $.eventName = "GetSecretValue" && $.errorMessage = "*secret because it was marked for deletion*" }

    选择 Assign Metric (分配指标)

  6. Create Metric Filter and Assign a Metric 页面上,执行以下操作:

    1. 对于 Metric Namespace (指标命名空间),键入 CloudTrailLogMetrics

    2. 对于 Metric Name(指标名称),键入 AttemptsToAccessDeletedSecrets

    3. 选择显示高级指标设置,如有必要,再为 Metric Value (指标值) 键入 1

    4. 选择 Create Filter

  7. 在筛选器框中,选择 Create Alarm

  8. Create Alarm 窗口中,执行以下操作:

    1. 对于名称,键入 AttemptsToAccessDeletedSecretsAlarm

    2. Whenever: (每当:) 下,为 is: (是:) 选择 >= 并键入 1

    3. Send notification to: 旁,执行以下操作之一:

      • 要创建并使用新的 Amazon SNS 主题,请选择新建列表,然后键入新主题的名称。对于 Email list:,键入至少一个电子邮件地址。您可以键入多个电子邮件地址,并使用逗号将它们隔开。

      • 要使用现有 Amazon SNS 主题,请选择要使用的主题的名称。如果列表不存在,请选择 Select list (选择列表)

    4. 选择创建警报

步骤 3:测试 CloudWatch警报

要测试告警,请创建密钥,并计划将其删除。然后,尝试检索密钥值。您在告警中配置的地址很快会收到一封电子邮件。它提醒您注意计划删除的密钥的使用情况。