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

Azure CLI创建自定义策略报错:PolicyRuleDefinition不存在'mode'成员

解决Azure CLI创建自定义策略时的JSON解析错误

错误提示Could not find member 'mode' on object of type 'PolicyRuleDefinition'的核心原因是命令行参数与规则JSON文件的配置冲突:你在CLI命令中指定了--mode "All",同时在policy-rules.json里也包含了"mode": "All"字段,Azure策略规则定义中,mode只能在一个地方配置(要么命令行,要么JSON文件),重复配置导致解析失败。

方案1:修改CLI命令,移除重复的--mode参数

保留JSON文件中的mode配置,执行以下命令:

az policy definition create --name "deny-public-ip" --display-name "Deny Public IP" --description "Deny creation of public IP addresses" --rules "policy-rules.json"

方案2:修改JSON文件,移除mode字段

删除policy-rules.json中的"mode": "All"行,修改后的JSON内容:

{
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Network/publicIPAddresses"
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  }
}

然后执行原命令(保留--mode "All"):

az policy definition create --name "deny-public-ip" --display-name "Deny Public IP" --description "Deny creation of public IP addresses" --rules "policy-rules.json" --mode "All"

额外验证点

  • 确认JSON文件无语法错误:在Cloud Shell中执行jq . policy-rules.json命令,快速验证JSON格式合法性。
  • 升级Azure CLI到最新版:执行az upgrade,避免版本兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:09:53