You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Event Grid新手如何跟踪订阅内所有资源的增删改操作?

方案合理性与实现指南

1. 现有配置思路验证

你的当前配置完全可行,可以满足订阅级全资源操作追踪的需求:

  • 选择Microsoft.Resources.Subscriptions作为订阅级事件源是正确的,绑定待监控订阅后可以捕获该订阅下所有资源的操作事件
  • 选择Microsoft.Resources.ResourceDeleteSuccess、Microsoft.Resources.ResourceWriteSuccess两类事件,刚好对应资源删除、创建/修改成功的操作场景
  • 后续要加冗余过滤规则直接在Event Grid触发的事件过滤配置页添加即可,支持按资源类型、资源ID前缀、操作名称等多维度过滤。

2. 资源操作详情获取方式

Event Grid触发Logic App后返回的事件负载已经包含你需要的全部信息,直接在工作流中引用对应字段即可:

  • 被操作资源信息:取subject字段即可获得被操作资源的完整资源ID,也可以通过data.resourceUri、data.resourceProvider、data.resourceType拆分获取资源路径、所属服务商、资源类型等分类信息
  • 操作人信息:data.claims.name字段为操作人显示名,data.claims.upn为操作人的用户主体名(通常为企业邮箱格式)
  • 操作类型:直接取eventType字段即可区分是删除还是创建/修改操作
  • 操作时间:取eventTime字段获得UTC时间,可通过Logic App内置的时间转换函数转成你需要的时区

如果需要生成通知内容,直接拼接对应字段即可,举个邮件正文的示例:

【资源操作通知】
操作类型:@{triggerBody()?['eventType']}
操作时间:@{convertTimeZone(triggerBody()?['eventTime'], 'UTC', 'China Standard Time')}
操作人:@{triggerBody()?['data']?['claims']?['name']}(@{triggerBody()?['data']?['claims']?['upn']})
被操作资源ID:@{triggerBody()?['subject']}

如果需要获取资源的更多配置属性,可以在触发步骤后添加Azure Resource Manager的「获取资源」动作,传入上面拿到的资源ID即可拉取资源的全量配置信息。

3. 其他可选实现方案

如果仅需要做操作审计留存,不需要自定义通知、对接业务系统这类逻辑,也可以直接启用订阅级活动日志导出功能,直接把所有操作日志归档到存储账户或者Log Analytics工作区,不需要搭建工作流。但如果需要实时通知、自定义过滤规则、对接内部系统的场景,你当前选择的Event Grid + Logic App方案是灵活性最高的,后续调整成本也很低。

内容的提问来源于stack exchange,提问作者pgbfnf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:09:02