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

如何修改现有Azure Policy定义以整合指定的allOf/anyOf规则?

Azure Policy 定义修改方案

你需要将指定的资源组标签检查规则(排除以MC_开头的托管资源组)整合到两个现有Policy中,具体修改方式如下:

一、修改含allOf逻辑的虚拟网络Policy

原Policy针对虚拟网络地址前缀做检查,现在要同时加入资源组标签缺失的检查,需将两个规则块用anyOf包裹,满足任一条件即触发拒绝。修改后的完整Policy规则如下:

"policyRule": {
  "if": {
    "anyOf": [
      {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Network/virtualNetworks"
          },
          {
            "field": "Microsoft.Network/virtualNetworks/addressSpace.addressPrefixes[*]",
            "notContains": "11.22.33"
          }
        ]
      },
      {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Resources/subscriptions/resourceGroups"
          },
          {
            "field": "[concat('tags[', parameters('tagName'), ']')]",
            "exists": "false"
          },
          {
            "anyOf": [
              {
                "value": "[startsWith(field('name'), 'MC_')]",
                "notEquals": "true"
              }
            ]
          }
        ]
      }
    ]
  },
  "then": {
    "effect": "deny"
  }
}

修改说明

  • 外层改用anyOf,包含原有的虚拟网络检查规则块和新增的资源组标签检查规则块
  • 保留原虚拟网络的allOf逻辑不变,新增的资源组规则完全复用你提供的片段

二、修改含anyOf逻辑的标签合规Policy

原Policy检查资源的团队标签是否在允许列表内,现在要扩展检查资源组的标签缺失问题,只需将新规则块直接加入原anyOf数组即可。修改后的完整Policy规则如下:

"policyRule": {
  "if": {
    "anyOf": [
      {
        "not": {
          "field": "[concat('tags[', parameters('tagnameteam'), ']')]",
          "in": "[parameters('listofallowedtagvalues')]"
        }
      },
      {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Resources/subscriptions/resourceGroups"
          },
          {
            "field": "[concat('tags[', parameters('tagName'), ']')]",
            "exists": "false"
          },
          {
            "anyOf": [
              {
                "value": "[startsWith(field('name'), 'MC_')]",
                "notEquals": "true"
              }
            ]
          }
        ]
      }
    ]
  },
  "then": {
    "effect": "Deny"
  }
}

修改说明

  • 在原anyOf数组末尾添加新的资源组标签检查规则块
  • 原有的标签合规检查逻辑保持不变,新增规则独立生效

内容的提问来源于stack exchange,提问作者Senior Systems Engineer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:15:44