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

为Azure Front Door Premium的Azure WAF策略添加默认规则集遇错

Azure CLI添加Microsoft_DefaultRuleSet 2.1到Front Door WAF策略报错解决方法

问题描述

使用Azure CLI 2.76.0创建Front Door WAF策略后,尝试分配Microsoft_DefaultRuleSet 2.1时触发以下错误:

(BadRequest) WebApplicationFirewallPolicy验证失败。详细信息:“此规则集操作值不受支持”。
错误代码:BadRequest

WAF策略本身创建成功,但添加默认规则集步骤失败。通过ARM模板部署可以完成配置,但希望使用CLI实现,且Azure门户手动添加规则集操作完全正常。

执行的脚本代码如下:

#  "azure-cli": "2.76.0"

#!/bin/bash

resource_group="shared-rg"
policy_name="wafpolicy01"
mode="Prevention"
DEFAULT_RULESET_TYPE="Microsoft_DefaultRuleSet"
DEFAULT_RULESET_VERSION="2.1"
DEFAULT_SKU="Premium_AzureFrontDoor"


echo "Creating WAF policy with Microsoft Default Rule Set ..."

az network front-door waf-policy create \
    --resource-group "$resource_group" \
    --name "$policy_name" \
    --sku "$DEFAULT_SKU" \
    --mode "$mode" \
    --only-show-errors \
    --output none

echo "Adding Microsoft Default Rule Set ..."

az network front-door waf-policy managed-rules add \
    --resource-group "$resource_group" \
    --policy-name "$policy_name" \
    --type "$DEFAULT_RULESET_TYPE" \
    --version "$DEFAULT_RULESET_VERSION" \
    --only-show-errors \
    --output none

解决方法

报错原因是az network front-door waf-policy managed-rules add命令缺少规则集默认操作参数:Azure门户会自动填充规则集的默认操作(如Block),但CLI需要显式指定该参数才能通过验证。

方案1:修改添加规则集的命令,补充操作参数

在添加规则集的命令中增加--action参数,指定规则集的默认操作(可根据需求选择Block/Log/Redirect等):

echo "Adding Microsoft Default Rule Set ..."

az network front-door waf-policy managed-rules add \
    --resource-group "$resource_group" \
    --policy-name "$policy_name" \
    --type "$DEFAULT_RULESET_TYPE" \
    --version "$DEFAULT_RULESET_VERSION" \
    --action Block \
    --only-show-errors \
    --output none

方案2:创建WAF策略时直接集成规则集,一步完成

将规则集配置整合到waf-policy create命令中,避免分两次操作:

echo "Creating WAF policy with Microsoft Default Rule Set ..."

az network front-door waf-policy create \
    --resource-group "$resource_group" \
    --name "$policy_name" \
    --sku "$DEFAULT_SKU" \
    --mode "$mode" \
    --managed-rules "[{\"type\":\"$DEFAULT_RULESET_TYPE\",\"version\":\"$DEFAULT_RULESET_VERSION\",\"action\":\"Block\"}]" \
    --only-show-errors \
    --output none

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 13:12:34