本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
秘密事件通知
当你的密钥上的暂存标签发生变化 EventBridge 时,Secrets Manager 会向亚马逊发布事件。您可以创建与这些事件相匹配的 EventBridge 规则,并将它们路由到目标,以构建事件驱动的工作流程。
如何 EventBridge 路由 Secrets Manager 事件
下面介绍如何处理 Secret EventBridge s Manager 事件。
与许多 Amazon 服务一样,Secrets Manager 生成事件并将其发送到 EventBridge 默认事件总线。事件总线是接收事件并将其路由到您所指定的目的地或目标的路由器。目标可以包括其他 Amazon 服务、定制应用程序和 SaaS 合作伙伴应用程序。
EventBridge 根据您在事件总线上创建的规则对事件进行路由。对于每条规则,您可以指定筛选条件或事件模式,以便仅选择所需的事件。每当向事件总线发送事件时,都要将其 EventBridge与每条规则进行比较。如果事件符合规则,则会将事件 EventBridge 路由到指定的目标。
下图显示了如何将 Secrets Manager 事件从默认事件总线 EventBridge 路由到您指定的目标。
有关更多信息,请参阅《EventBridge 用户指南》中的创建规则。
Secrets Manager 事件
每当暂存标签Secret Label Updated发生变化时,Secrets Manager 都会将 EventBridge 事件发布到默认事件总线,但AWSPENDING和AWSPREVIOUS除外。这包括自定义标签。默认情况下,所有密钥的事件都处于启用状态。要使用这些事件,您需要创建与它们匹配的 EventBridge 规则并将它们路由到目标。有关可用作目标的服务的完整列表,请参阅《EventBridge 用户指南》中的EventBridge 目标。
Secrets Manager 不会发布元数据更改事件,例如标签、描述、轮换配置或资源策略更新。
| 事件详细信息类型 | 说明 |
|---|---|
|
Secrets Manager 将暂存标签移至密钥的新版本。 |
事件结构
来自 Amazon 服务的所有事件都包含两种类型的数据:
一组常用字段,其中包含有关事件的元数据,例如作为事件来源的 Amazon 服务、事件的生成时间、事件发生的账户和地区等。有关这些常规字段的定义,请参阅 Amazon Events 参考中的 EventBridge 事件结构。
-
detail字段包含该特定服务事件专有的数据。
创建与 Secrets Manager 事件相匹配的事件模式
事件模式是过滤器,您可以在其中指定要选择的事件应包含哪些数据。
每个事件模式是一个 JSON 对象,其中包含:
-
标识发送事件的服务的
source属性。对于 Secrets Manager 事件,来源是aws.secretsmanager。 -
(可选):包含要匹配的事件名称数组的
detail-type属性。 -
(可选):包含要匹配的其他事件数据的
detail属性。
以下事件模式与AWSCURRENT标签移至新版本时的事件相匹配,这表示活动密钥值已更改:
{ "source": ["aws.secretsmanager"], "detail-type": ["Secret Label Updated"], "detail": { "labelUpdated": ["AWSCURRENT"] } }
以下事件模式仅匹配名称以开头的机密的标签更改MyTestSecret:
{ "source": ["aws.secretsmanager"], "detail-type": ["Secret Label Updated"], "detail": { "name": [{"prefix": "MyTestSecret"}] } }
以下事件模式将过滤器组合在一起,以便仅在名称以以下开头的密钥AWSCURRENT发生更改时才匹配prod/:
{ "source": ["aws.secretsmanager"], "detail-type": ["Secret Label Updated"], "detail": { "name": [{"prefix": "prod/"}], "labelUpdated": ["AWSCURRENT"] } }
如果您在工作流程中使用自定义暂存标签,则可以为这些标签匹配事件。以下示例在移动名为MyLabel的标签时匹配:
{ "source": ["aws.secretsmanager"], "detail-type": ["Secret Label Updated"], "detail": { "labelUpdated": ["MyLabel"] } }
有关编写事件模式的更多信息,请参阅《EventBridge 用户指南》中的事件模式。
创建事件模式是创建规则的更大过程中的一个步骤。有关更多信息,请参阅《EventBridge 用户指南》中的创建规则。