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

带dev标签的网络安全组端口限制Azure自定义策略解析错误修复

错误排查结果

  1. 触发报错的直接原因是拼写错误:你在策略规则中写的exits是非法字段,Azure Policy 判断字段是否存在的正确属性名是exists,拼写错误导致解析失败。
  2. 除此之外还有3处配置逻辑错误需要修正:
  • 参数引用错误:你定义的标签参数名是tagName,但代码中错误写为parameters('dev'),dev是参数的显示名称,不是参数的调用名;同时你未声明tagValue参数,但代码中直接调用了parameters('tagValue'),会触发二次报错。
  • 资源匹配逻辑不符需求:你当前的判断条件是面向网络接口资源,若需求是筛选带dev标签的网络安全组,需要调整匹配字段逻辑。
  • 标签拼接逻辑错误:标签字段的拼接写法不符合Azure Policy表达式规范。

修正后可直接使用的策略定义

如果你需要固定筛选带dev标签的NSG,可直接使用如下配置,无需额外配置标签参数:

{
  "properties": {
    "displayName": "带dev标签的网络安全组应限制所有网络端口访问",
    "policyType": "Custom",
    "mode": "All",
    "description": "仅对带有dev标签的网络安全组做端口限制,禁止入站规则开放Any/Internet范围的全端口访问。",
    "metadata": {
      "version": "1.0.0",
      "category": "Security Center"
    },
    "parameters": {
      "effect": {
        "type": "String",
        "metadata": {
          "displayName": "Effect",
          "description": "启用或禁用策略执行"
        },
        "allowedValues": [
          "AuditIfNotExists",
          "Disabled"
        ],
        "defaultValue": "AuditIfNotExists"
      }
    },
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Network/networkSecurityGroups"
          },
          {
            "field": "tags['dev']",
            "exists": "true"
          }
        ]
      },
      "then": {
        "effect": "[parameters('effect')]",
        "details": {
          "type": "Microsoft.Security/assessments",
          "name": "3b20e985-f71f-483b-b078-f30d73936d43",
          "existenceCondition": {
            "field": "Microsoft.Security/assessments/status.code",
            "in": [
              "NotApplicable",
              "Healthy"
            ]
          }
        }
      }
    }
  },
  "id": "/providers/Microsoft.Authorization/policyDefinitions/custom-nsg-dev-port-restrict",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "custom-nsg-dev-port-restrict"
}

如果需要保留可配置的标签参数,可在parameters节点补充tagValue的声明即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 21:03:01