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

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

监控计划删除的 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 日志
  1. 打开 CloudTrail 控制台,网址为 https://console.aws.amazon.com/cloudtrail/

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

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

  4. 在 T rails 配置页面上,向下滚动到 “CloudWatch 日志” 部分,然后选择编辑图标 ( Remote control icon with power, volume, and channel buttons. )。

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

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

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

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

步骤 2:创建 CloudWatch警报

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

创建 CloudWatch 警报
  1. 登录 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

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

  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警报

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