IBM Cloud Docs
为 Secrets Manager 启用事件通知

copyright: years: 2020, 2025 lastupdated: "2025-04-22"

keywords: Secrets Manager的事件通知,Secrets Manager的事件通知集成,Secrets Manager 的警报

subcollection: secrets-manager


为 Secrets Manager 启用事件通知

作为 IBM Cloud® Secrets Manager的管理员,您可能希望使用电子邮件,SMS 或其他受支持的传递通道将 Secrets Manager 中的事件通知发送给其他用户或人员目标。 此外,您可能希望将这些事件通知发送到其他应用程序,以通过使用事件驱动的编程 (例如,使用 Webhook) 来构建逻辑。 这通过 Secrets Manager 与 IBM Cloud® Event Notifications之间的集成来实现。

要将信息发送到 Event Notifications,必须将 Secrets Manager 服务实例连接到 Event Notifications。 有关使用 Event Notifications的更多信息,请参阅 Event Notifications 入门。

如果决定删除 Secrets Manager 服务实例,请同时除去 Secrets Manager 作为 Event Notifications 服务实例中的源。

Secrets Manager 收集和发送事件的方式

在 Secrets Manager 实例中发生相关事件时,Secrets Manager 会与已连接的 Event Notifications 实例通信,以将通知转发到 受支持的目标

Secrets Manager 按 事件类型,私钥类型和到期详细信息 (如果适用) 聚集暂挂通知的列表。 每隔 1-2 分钟,服务会检查任何暂挂通知并将其分派给已连接的 Event Notifications 服务。 例如,您可能会收到类似于以下消息的通知:

  • 您有 1 个在 1 天内到期的任意私钥。
  • 您有 5 个公用证书私钥将在 10 天内到期。
  • 您有 100 个导入的证书私钥在 30 天内到期。

100 是可以在单个事件通知中通知您的最大私钥数。

Secrets Manager 的事件

下表列出了生成事件的 Secrets Manager 操作。

根据您在服务中使用的私钥类型,Secrets Manager可能不会生成事件。 例如,如果证书设置为在不到 24 小时内到期,那么您不会收到通知。 有关更多信息,请参阅 按私钥类型列出的事件

生成事件通知的操作
事件名称 事件类型 子类型 描述 严重性级别
已创建私钥 com.ibm.cloud.secrets-manager.secret_created 将私钥添加到实例时,将发送事件。 low
创建私钥失败 com.ibm.cloud.secrets-manager.secret_creation_failed 当创建私钥的请求失败时,将发送事件。 low
已轮换私钥 com.ibm.cloud.secrets-manager.secret_rotated 当密钥轮换且新版本可用时,将发送事件。 low
密钥轮换失败 com.ibm.cloud.secrets-manager.secret_rotation_failed 当请求轮换密钥失败时,将发送事件。 high
私钥将在 90 天后到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_90_days 当私钥距到期 90 天时,将发送事件。 high
私钥将在 60 天后到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_60_days 当私钥距到期 60 天时,将发送事件。 high
私钥将在 30 天内到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_30_days 当私钥距到期 30 天时,将发送事件。 high
私钥将在 10 天后到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_10_days 当私钥距到期 10 天时,将发送事件。 high
私钥将在 1 天后到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_1_day 当私钥从到期起 1 天时,将发送事件。 high
私钥在 1 天内到期 com.ibm.cloud.secrets-manager.secret_about_to_expire in_0_days 当私钥距离到期不足 1 天时,将发送事件。 high
私钥已到期 com.ibm.cloud.secrets-manager.secret_expired 当私钥到达其到期日期和时间时,将发送事件。 high
已撤销密钥 com.ibm.cloud.secrets-manager.secret_revoked 当某个私钥版本在调度为到期之前被撤销时,将发送一个事件。 low
已删除私钥 com.ibm.cloud.secrets-manager.secret_deleted 从 Secrets Manager 实例中删除私钥时,将发送事件。 low
私钥删除失败 com.ibm.cloud.secrets-manager.secret_deletion_failed 当删除私钥的请求失败时,将发送事件。 high
已阻止私钥删除 com.ibm.cloud.secrets-manager.secret_deletion_blocked 当由于某个私钥已锁定而无法删除该私钥时,将发送该事件。 low
已阻止私钥撤销 com.ibm.cloud.secrets-manager.secret_revocation_blocked 当密钥由于已锁定而无法撤销时,将发送事件。 low
已阻止私钥旋转 com.ibm.cloud.secrets-manager.secret_rotation_blocked 当密钥由于被锁定而无法旋转时,将发送事件。 low
已阻止私钥到期 com.ibm.cloud.secrets-manager.secret_expiration_blocked 当私钥由于已锁定而无法到期时,将发送事件。 high
已除去私钥数据 com.ibm.cloud.secrets-manager.secret_data_removed 除去私钥数据时,将发送事件。 low
已删除私钥版本数据 com.ibm.cloud.secrets-manager.secret_version_data_deleted 删除私钥版本的数据时,将发送事件。 low
创建秘密任务 com.ibm.cloud.secrets-manager.secret_task_created 为秘密创建任务时会发送一个事件。 low
秘密任务成功 com.ibm.cloud.secrets-manager.secret_task_succeeded 任务成功完成后会发送一个事件。 low
秘密任务失败 com.ibm.cloud.secrets-manager.secret_task_failed 任务失败时会发送一个事件。 high
秘密任务已删除 com.ibm.cloud.secrets-manager.secret_task_deleted 删除任务时会发送一个事件。 low
测试事件 com.ibm.cloud.secrets-manager.test_event 将测试通知转发到 Event Notifications时,将发送事件。 low

secret_about_to_expire 事件仅在指定日期发送一次。 这意味着,如果你指定某个秘密在 10 天后过期,那么当该秘密还剩 10 天时,你就会收到一个通知。 在其他任何时候,例如保密期限还剩 9 天时,您都不会收到通知。

受支持的密钥类型

下表列出了可以根据服务中支持的私钥类型生成的 Secrets Manager 事件。

根据秘密类型生成事件的操作
事件名称 事件类型 事件实例 任意 IAM 凭证 密钥值 用户凭证 导入的证书 专用证书 公用证书 服务凭证 自定义凭证
已创建私钥 com.ibm.cloud.secrets-manager.secret_created 一次性 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
创建私钥失败 com.ibm.cloud.secrets-manager.secret_creation_failed 一次性 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
已轮换私钥 com.ibm.cloud.secrets-manager.secret_rotated 一次性 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
密钥轮换失败 com.ibm.cloud.secrets-manager.secret_rotation_failed 一次性 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
私钥即将到期 com.ibm.cloud.secrets-manager.secret_about_to_expire 90 天,60 天,30 天,10 天,1 天,私钥到期前 0 天 “勾选标记”图标 “勾选标记”图标 不适用[1] “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
私钥已到期 com.ibm.cloud.secrets-manager.secret_expired 每日 “勾选标记”图标 “勾选标记”图标 不适用[2] “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
已撤销密钥 com.ibm.cloud.secrets-manager.secret_revoked 一次性 不适用[3] 不适用[4] 不适用[5] 不适用[6] 不适用[7] “勾选标记”图标 不适用[8] 不适用[9] 不适用[10]
已删除私钥 com.ibm.cloud.secrets-manager.secret_deleted 一次性 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
已阻止私钥删除 com.ibm.cloud.secrets-manager.secret_deletion_blocked 一次性 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
已阻止私钥旋转 com.ibm.cloud.secrets-manager.secret_rotation_blocked 一次性[11]
每日 [12]
“勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
已阻止私钥撤销 com.ibm.cloud.secrets-manager.secret_revocation_blocked 一次性 不适用[13] 不适用[14] 不适用[15] 不适用[16] 不适用[17] “勾选标记”图标 不适用[18] 不适用[19] 不适用[20]
已阻止私钥到期 com.ibm.cloud.secrets-manager.secret_expiration_blocked 一次性
每日
“勾选标记”图标 “勾选标记”图标 不适用[21] “勾选标记”图标 不适用[22] 不适用[23] 不适用[24] “勾选标记”图标 “勾选标记”图标
已删除私钥版本数据 com.ibm.cloud.secrets-manager.secret_data_removed 一次性 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标 “勾选标记”图标
创建秘密任务 com.ibm.cloud.secrets-manager.secret_task_created 一次性 “勾选标记”图标
秘密任务成功 com.ibm.cloud.secrets-manager.secret_task_created 一次性 “勾选标记”图标
秘密任务失败 com.ibm.cloud.secrets-manager.secret_task_created 一次性 “勾选标记”图标
秘密任务已删除 com.ibm.cloud.secrets-manager.secret_task_created 一次性 “勾选标记”图标

启用通知

Secrets Manager 服务实例生成的事件可转发到同一账户中的 Event Notifications 服务实例。 只能将一个 Secrets Manager 实例配置为一个 Event Notifications 服务实例。 要开始使用,您需要:

  • Secrets Manager 服务上的 Manager 服务访问权
  • Event Notifications 服务上的 Manager 服务访问权。 要查看帐户中的现有 Event Notifications 服务实例,您还需要 查看者 平台访问权或更高版本。

在 UI 中连接到 Event Notifications

在可为 Secrets Manager启用通知之前,请确保您具有与 Secrets Manager 实例位于同一帐户中的 Event Notifications 服务实例。 然后,可以使用 Secrets Manager UI 中的 设置> Event Notifications 部分来连接服务。

此图显示了 Secrets Manager UI 中的 Event Notifications 屏幕。
连接到 Event Notifications

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表

  2. 从服务列表中,选择 Secrets Manager的实例。

  3. 在 Secrets Manager 导航中,单击 设置

  4. 在 Event Notifications 部分中,单击 连接

  5. 在侧面板中,查看连接的源详细信息。 (可选)提供描述。

  6. 选择要连接的资源组和 Event Notifications 服务实例。

    如果您的帐户中不存在 Secrets Manager 与 Event Notifications 之间的 IAM 授权,那么将显示一个对话框。 遵循提示以授予服务之间的访问权。

    1. 要授予 Secrets Manager 与 Event Notifications之间的访问权,请单击 授权
    2. 在侧面板中,选择 Event Notifications 作为目标服务。
    3. 从实例列表中,选择要授权的 Event Notifications 服务实例。
    4. 选择 事件源管理器 角色。
    5. 点击回顾
    6. 单击分配
  7. 要确认连接,请单击 连接

    将显示一条成功消息,指示 Secrets Manager 现在已连接到 Event Notifications。 如果需要稍后与 Event Notifications 断开连接,那么可以使用选项菜单 选项图标 > 断开连接 来除去 Secrets Manager 作为 Event Notifications 实例中的源服务。

    如果选择断开 Event Notifications的连接,请不要删除 Secrets Manager 与 Event Notifications之间的 IAM 授权。Secrets Manager 使用现有授权从 Event Notifications注销。 如果删除 Event Notifications 实例,那么 IAM 也会删除服务与 Secrets Manager 之间存在的任何授权。

使用 API 连接到 Event Notifications

在可为 Secrets Manager启用通知之前,请确保您具有与 Secrets Manager 实例位于同一帐户中的 Event Notifications 服务实例。 然后,可以通过调用 Secrets Manager API 以编程方式连接到 Event Notifications。

以下示例显示可用于向 Event Notifications注册 Secrets Manager 源详细信息的查询。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

通过转至“资源”列表并单击 Event Notifications 实例行,可以在控制台中找到 event_notifications_instance_crn 值。

curl -X POST
   --H "Authorization: Bearer {iam_token}" \
   --H "Accept: application/json" \
   --H "Content-Type: application/json" \
   --d'{
      "event_notifications_instance_crn": "crn:v1:bluemix:public:event-notifications:us-south:a/22018f3c34ff4ff193698d15ca316946:578ad1a4-2fd8-4e66-95d5-79a842ba91f8::",
      "event_notifications_source_description": "Optional description of this source in an Event Notifications instance.",
      "event_notifications_source_name": "My Secrets Manager"
   }' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/notifications/registration"

成功请求将返回已连接的 Event Notifications 服务实例的 CRN 值。 有关必需和可选请求参数的更多信息,请参阅 API 文档

使用 Terraform 连接到 Event Notifications

以下示例显示可用于向 Event Notifications注册 Secrets Manager 源详细信息的配置。

    resource "ibm_sm_en_registration" "en_registration" {
        instance_id = local.instance_id
        region = local.region
        name = "test-root-ca"
        event_notifications_instance_crn = var.en_instance_crn
        event_notifications_source_description = "My event notification source"
        event_notifications_source_name = "my_en_source"
    }

在 UI 中将测试事件发送到 Event Notifications

对 Secrets Manager启用通知后,请测试连接以确保将 Secrets Manager 生成的事件转发到 Event Notifications。

必须先在 Event Notifications 实例中创建 主题,目标和预订,然后才能发送测试 Secrets Manager 事件。 确保 测试事件 事件类型 (com.ibm.cloud.secrets-manager.test_event) 作为条件包含在 Event Notifications 主题中。

此图显示了 Secrets Manager UI 中的 Event Notifications 屏幕。
向 Event Notifications

  1. 在 Secrets Manager UI 中,单击 设置

  2. 在 " Event Notifications " 部分中,单击 发送测试事件

    将显示一条成功消息,指示测试事件已成功转发到 Event Notifications。

使用 API 将测试事件发送到 Event Notifications

对 Secrets Manager启用通知后,请测试连接以确保将 Secrets Manager 生成的事件转发到 Event Notifications。

必须先在 Event Notifications 实例中创建 主题,目标和预订,然后才能发送测试 Secrets Manager 事件。 确保 测试事件 事件类型 (com.ibm.cloud.secrets-manager.test_event) 作为条件包含在 Event Notifications 主题中。

以下示例显示可用于将测试事件从 Secrets Manager 发送到 Event Notifications的查询。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

curl -X GET
   --H "Authorization: Bearer {iam_token}" \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/notifications/registration/test"

请求成功后会返回 HTTP 200 OK 响应,表明测试事件已成功转发到连接的 Event Notifications 服务实例。 更多信息,请参阅 API 文档

将通知交付到所选目标

对 Secrets Manager启用通知后,请在 Event Notifications 中创建主题和预订,以便可以将警报转发并传递到所选目标。

有关受支持目标的完整列表,请参阅 Event Notifications 文档

电子邮件通知

您可以使用 IBM Cloud 电子邮件服务 作为 Secrets Manager 事件通知的传递通道。 在现有主题与 IBM Cloud 电子邮件服务之间创建 Event Notifications 预订,以通过电子邮件将警报转发给各个收件人。

来自 IBM Cloud 的电子邮件,其中包含有关 Secrets Manager 事件的信息,类似于以下示例:

Subject: Your 2 public certificate secrets expire in 10 days
Body: You have 2 public certificate secrets that expire in 10 days: my-certificate-1, my-certificate-2. You can view and manage your existing secrets by accessing Secrets Manager in the console, or by using the CLI or APIs. For more information, check out the docs.

要在电子邮件中接收有关事件通知的详细信息,请在创建 Event Notifications 预订时选择 添加通知有效内容 选项。 您的电子邮件将显示与事件关联的 通知有效内容详细信息

Webhook

您可以配置 Webhook 目标,以便应用程序或服务可以通过编程方式使用入局通知。 有关设置 Webhook 的更多信息,请查看 Event Notifications 文档

通知有效内容详细信息

Secrets Manager 生成的成功事件包含各种字段,可帮助您识别事件的源和详细信息。

来自 Secrets Manager 的事件通知仅包含元数据属性,例如资源的名称或标识。 生成的事件中不包含敏感数据,例如 API 密钥或密码。

发送到 Event Notifications 的属性因事件类型和私钥类型而异。 例如,如果 secret_about_to_expire:in_10_days 事件发生在一个或多个 public_cert 私钥的实例中,那么 Secrets Manager 将通知有效内容发送到类似于以下示例的 Event Notifications。

{
   "event_sub_type": "in_10_days",
   "event_type": "secret_about_to_expire",
   "secret_type": "public_cert",
   "secrets": [
      {
         "domains": "domain1.com",
         "event_time": "2022-01-04T00:00:00Z",
         "event_triggered_by": "SecretsManager",
         "secret_expiration": "2022-01-14T00:00:00Z",
         "secret_group_id": "default",
         "secret_id": "crn:v1:bluemix:public:secrets-manager:<region>:a/<account_id>:<instance_id>:secret:<secret_id>",
         "secret_name": "my-certificate-1",
         "serial_number": "1:2:3:4"
      },
      {
         "domains": "domain2.com, domain3.com",
         "event_time": "2022-01-04T00:00:00Z",
         "event_triggered_by": "SecretsManager",
         "secret_expiration": "2022-01-14T00:00:00Z",
         "secret_group_id": "default",
         "secret_id": "crn:v1:bluemix:public:secrets-manager:<region>:a/<account_id>:<instance_id>:secret:<secret_id>",
         "secret_name": "my-certificate-2",
         "serial_number": "1:2:3:4"
      },
   ],
   "source_instance_api_private_url": "https://<instance_id>.private.<region>.secrets-manager.appdomain.cloud/api",
   "source_instance_api_public_url": "https://<instance_id>.<region>.secrets-manager.appdomain.cloud/api",
   "source_instance_crn": "crn:v1:bluemix:public:secrets-manager:<region>:a/<account_id>:<instance_id>::",
   "source_instance_dashboard_url": "https://cloud.ibm.com/services/secrets-manager/crn%3Av1%3Abluemix%3Apublic%3Asecrets-manager%3A<region>%3Aa%2Fa6cc9f5f21f34323a4175c1117638b40%3A<instance_id>%3A%3A",
   "source_service": "SecretsManager"
}

查看下表以获取有关事件通知属性的更多信息。

事件通知有效载荷中的属性
属性 描述
event_sub_type 与触发通知的 事件类型 对应的子类型。
event_type 触发通知的 事件类型
secret_type 与事件关联的私钥类型。

可能的值包括 :imported_cert,private_cert 和 public_cert

secrets[]

包含与事件关联的私钥的元数据属性的对象列表。 列出的属性因私钥类型而异。

针对所有私钥类型发送的属性包括:

  • event_time: 生成事件的日期和时间。
  • event_triggered_by: 触发事件的实体。 这可以是 Secrets Manager 服务或 IBM 标识。
  • secret_group_id: 私钥组的标识。
  • secret_id: 唯一标识私钥的标识。
  • secret_name: 私钥的名称。

imported_certprivate_certpublic_cert 私钥的事件还包含:

  • domains: 与证书关联的域。
  • serial_number: 与证书关联的序列号。

失败事件还可以包含:

  • failure_reason: 操作失败的原因。
tasks[]

包含与事件相关联的秘密任务元数据属性的对象列表。

针对所有私钥类型发送的属性包括:

  • event_time: 生成事件的日期和时间。
  • event_triggered_by: 触发事件的实体。 可以是 Secrets Manager 服务或 IBM ID。
  • secret_group_id 密文组 ID:密文组的 ID。
  • secret_id :唯一标识秘密的 ID。
  • secret_name 秘密名称:秘密名称。
  • task_id :唯一标识秘密任务的 ID。
  • secret_status 秘密任务的状态。
  • task_trigger 任务创建触发器。
  • task_type 秘密任务的类型。

失败事件还可以包含:

  • failure_reason: 操作失败的原因。
source_instance_api_private_url 分配给 Secrets Manager 服务实例的 专用端点 URL
source_instance_api_public_url 分配给 Secrets Manager 服务实例的公共端点 URL。
source_instance_crn 唯一标识 Secrets Manager 服务实例的云资源名称 (CRN)。
source_instance_dashboard_url URL 到控制台中的 Secrets Manager 服务仪表板。
source_service 发送事件通知的服务的显示名称。

  1. 事件不适用,因为此私钥类型没有生存时间 (TTL) 限制。 ↩︎

  2. 事件不适用,因为此私钥类型没有生存时间 (TTL) 限制。 ↩︎

  3. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  4. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  5. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  6. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  7. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  8. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  9. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  10. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  11. 您会收到通知,通知您手动轮换未成功。 ↩︎

  12. 当自动旋转失败时,将每天通知您,直到它成功为止。 ↩︎

  13. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  14. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  15. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  16. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  17. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  18. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  19. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  20. 事件不适用,因为此通知类型仅适用于专用证书。 ↩︎

  21. 事件不适用,因为此私钥类型没有生存时间 (TTL) 限制。 ↩︎

  22. 事件不适用,因为在此秘密类型中无法阻止过期日期。 ↩︎

  23. 事件不适用,因为在此秘密类型中无法阻止过期日期。 ↩︎

  24. 事件不适用,因为在此秘密类型中无法阻止过期日期。 ↩︎