如何通过AZ CLI修改Azure WAF策略中OWASP 3.2规则的动作?
通过AZ CLI修改Azure WAF策略内OWASP规则动作的正确方法
要修改OWASP 3.2规则集中部分规则的动作,需使用az network application-gateway waf-policy update命令结合--managed-rules参数,传入包含目标规则动作配置的JSON结构。以下是具体步骤:
步骤1:导出当前WAF策略的托管规则配置
先获取现有规则配置,避免误改其他规则:
az network application-gateway waf-policy show --name <你的WAF策略名称> --resource-group <资源组名称> --query 'managedRules' -o json > current-rules.json
步骤2:编辑JSON配置文件
打开current-rules.json,找到OWASP_CRS类型、版本为3.2的规则集,在其rules数组中添加或修改目标规则的action字段(可选值:Block/Log/Allow/Redirect)。示例修改如下:
{ "managedRuleSets": [ { "ruleSetType": "OWASP_CRS", "ruleSetVersion": "3.2", "rules": [ { "ruleId": "942100", "action": "Block" }, { "ruleId": "942110", "action": "Log" } ] } // 保留其他规则集的配置(如果有) ] }
步骤3:应用修改
将编辑后的配置应用到WAF策略:
az network application-gateway waf-policy update --name <你的WAF策略名称> --resource-group <资源组名称> --managed-rules @current-rules.json
直接构造参数修改(适用于简单场景)
如果仅需修改少量规则且无需保留其他规则集的复杂配置,可直接传入JSON字符串:
az network application-gateway waf-policy update --name <你的WAF策略名称> --resource-group <资源组名称> --managed-rules '{ "managedRuleSets": [ { "ruleSetType": "OWASP_CRS", "ruleSetVersion": "3.2", "rules": [ {"ruleId": "942100", "action": "Block"}, {"ruleId": "942110", "action": "Log"} ] } ] }'
关于你之前尝试的命令说明
az network application-gateway waf-policy managed-rules update/set:这两个子命令不存在,AZ CLI的managed-rules子命令仅支持list、add等操作,无法直接修改规则动作。az network application-gateway waf-policy managed-rules rule-set update:该命令仅用于更新规则集的版本或名称,不支持单个规则的动作修改。
内容的提问来源于stack exchange,提问作者Dielam
相关产品推荐
相关产品推荐

