Azure KeyVault Secret过期事件未触发 事件订阅主题配置异常
问题根因
- 主题绑定逻辑差异:从Key Vault资源内部入口创建事件订阅时,系统会自动填充关联的Event Grid系统主题且不支持编辑,若自动填充的是历史残留的同名称废弃主题、跨资源组/订阅的错误关联主题,事件路由链路从源头就会断开;从Event Grid全局入口进入创建流程时支持手动选择/输入主题,不会触发默认绑定逻辑,这就是两个界面表现不一致的原因。
- 事件类型默认筛选遗漏:自动填充主题的快速创建流程不会自动勾选
Microsoft.KeyVault.SecretExpired事件类型,多数场景下默认仅勾选Secret即将过期类事件,过期事件本身未被纳入订阅接收范围,因此不会触发下游投递。这类配置错误属于订阅侧的规则拦截,不会在下游Application Insights中抛出投递报错,仅会在Event Grid监控面板留下同主题其他事件的少量记录,和你观察到的监控表现完全吻合。 - 主题推送权限缺失:自动绑定的系统主题如果未配置对应Key Vault的事件推送权限,Key Vault生成的Secret过期事件根本无法推送到Event Grid主题层,上游推送失败的日志不会同步到订阅关联的Application Insights资源,因此排查时看不到错误记录。
修复步骤
- 校验关联主题有效性:点击自动填充的主题名跳转至主题详情页,核对主题关联的源资源ID是否完全匹配当前操作的目标Key Vault,若匹配到废弃/错误资源,退出Key Vault内部创建入口,转到Event Grid服务的事件订阅创建页,手动选择当前Key Vault对应的正确系统主题。
- 补全事件类型筛选:创建订阅时在事件类型筛选栏,手动确认勾选
Microsoft.KeyVault.SecretExpired事件,不要直接使用默认勾选配置,保存前可通过「发送测试事件」功能验证链路连通性。 - 补全权限配置:进入目标Key Vault的访问控制(IAM)页面,添加角色分配,将事件发送相关权限授予Azure Event Grid服务主体,确保Key Vault有权限将生命周期事件推送到关联的Event Grid主题。
- 链路验证:配置完成后创建一个设置了极短过期时间的测试Secret,等待过期后核对Event Grid订阅投递指标、下游应用的日志记录,确认事件可以正常触发。
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

