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的实例。
-
在 Secrets Manager 导航中,单击 设置。
-
在 Event Notifications 部分中,单击 连接。
-
在侧面板中,查看连接的源详细信息。 (可选)提供描述。
-
选择要连接的资源组和 Event Notifications 服务实例。
如果您的帐户中不存在 Secrets Manager 与 Event Notifications 之间的 IAM 授权,那么将显示一个对话框。 遵循提示以授予服务之间的访问权。
- 要授予 Secrets Manager 与 Event Notifications之间的访问权,请单击 授权。
- 在侧面板中,选择 Event Notifications 作为目标服务。
- 从实例列表中,选择要授权的 Event Notifications 服务实例。
- 选择 事件源管理器 角色。
- 点击回顾。
- 单击分配。
-
要确认连接,请单击 连接。
将显示一条成功消息,指示 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。
使用 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[] |
包含与事件关联的私钥的元数据属性的对象列表。 列出的属性因私钥类型而异。 针对所有私钥类型发送的属性包括:
失败事件还可以包含:
|
tasks[] |
包含与事件相关联的秘密任务元数据属性的对象列表。 针对所有私钥类型发送的属性包括:
失败事件还可以包含:
|
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 |
发送事件通知的服务的显示名称。 |
-
事件不适用,因为此私钥类型没有生存时间 (TTL) 限制。 ↩︎
-
事件不适用,因为此私钥类型没有生存时间 (TTL) 限制。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
您会收到通知,通知您手动轮换未成功。 ↩︎
-
当自动旋转失败时,将每天通知您,直到它成功为止。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此通知类型仅适用于专用证书。 ↩︎
-
事件不适用,因为此私钥类型没有生存时间 (TTL) 限制。 ↩︎
-
事件不适用,因为在此秘密类型中无法阻止过期日期。 ↩︎
-
事件不适用,因为在此秘密类型中无法阻止过期日期。 ↩︎
-
事件不适用,因为在此秘密类型中无法阻止过期日期。 ↩︎