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

如何修改Azure Policy实现VM满足ASR启用或指定标签即合规的审计

解决Azure Policy审计VM ASR合规性时添加标签豁免的问题

问题核心

你尝试在Microsoft.Resources/links的existenceCondition中添加VM标签判断,但标签属于Microsoft.Compute/virtualMachines类型资源的属性,而非links资源的属性,因此该写法无效。需要调整策略逻辑,实现“VM启用ASR”或“存在asrexempt=true标签”任一条件即合规的要求。

解决方案

修改策略规则,将标签判断放在if语句中,仅对没有豁免标签的VM执行ASR启用状态检查。具体代码如下:

{
  "mode": "Indexed",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Compute/virtualMachines"
        },
        {
          "not": {
            "field": "tags['asrexempt']",
            "equals": "true"
          }
        }
      ]
    },
    "then": {
      "effect": "auditIfNotExists",
      "details": {
        "type": "Microsoft.Resources/links",
        "existenceCondition": {
          "field": "name",
          "like": "ASR-Protect-*"
        }
      }
    }
  },
  "parameters": {}
}

逻辑说明

  1. if语句过滤:先筛选出所有VM资源,同时排除带有asrexempt=true标签的VM。
  2. then语句检查:仅对剩下的VM执行auditIfNotExists检查,判断是否存在名称以ASR-Protect-*开头的Microsoft.Resources/links资源(即ASR已启用)。
  3. 合规判定:
    • 带有asrexempt=true标签的VM:直接跳过检查,视为合规。
    • 无豁免标签的VM:存在ASR关联链接则合规,否则被审计为不合规。

这样就能在报表中完整显示所有VM的合规状态,无需使用政策豁免。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:33:34