REST API创建WAF_v2 SKU应用网关关联WAF策略报错求助
问题
是否可以通过REST API创建WAF_v2 SKU的应用网关并关联WAF策略?
我使用包含webApplicationFirewallConfiguration的配置代码可成功部署应用网关:
"webApplicationFirewallConfiguration" = @{ "disabledRuleGroups" = @() "enabled" = $true "exclusions" = @() "fileUploadLimitInMb" = 100 "firewallMode" = "Detection" "maxRequestBodySizeinKb" = 128 "requestBodyCheck" = $true "ruleSetType" = "OWASP" "ruleSetVersion" = "3.1" }
但将该配置替换为指定WAF策略ID的firewallPolicy字段后:
"firewallPolicy" = @{ "id" = "path to WAF Policy" }
收到错误代码为ApplicationGatewayFirewallNotConfiguredForSelectedSku的报错:
{ "error": { "code": "ApplicationGatewayFirewallNotConfiguredForSelectedSku", "message": "Application Gateway (Path to gateway) with the selected SKU tier WAF_v2 must have a valid WAF policy or configuration", "details": [] } }
我已添加forceFirewallPolicyAssociation=$true,但问题仍未解决。
解决方案
要解决这个问题,需注意以下几个关键要点:
- 移除旧版WAF配置字段:完全删除
webApplicationFirewallConfiguration字段,不能同时保留该字段和firewallPolicy字段,二者互斥,同时存在会导致系统无法识别有效的WAF配置。 - 确认WAF策略类型:确保关联的WAF策略是WAF_v2类型,旧版WAF策略(对应经典WAF配置)无法与WAF_v2 SKU的应用网关兼容。
- 正确放置
forceFirewallPolicyAssociation参数:该参数属于应用网关的顶层属性,需与sku、firewallPolicy同级,而非嵌套在某个子配置中。 - 验证WAF策略ID格式:确保策略ID路径正确,格式应为
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName},同时确认当前操作账号对该策略有访问权限。
以下是调整后的核心配置示例(PowerShell格式):
"sku" = @{ "name" = "WAF_v2" "tier" = "WAF_v2" "capacity" = 2 } "firewallPolicy" = @{ "id" = "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/firewallPolicies/your-waf-policy-name" } "forceFirewallPolicyAssociation" = $true // 保留其他必要的应用网关配置(如前端IP、端口、后端池等)
内容的提问来源于stack exchange,提问作者rian cox
相关产品推荐
相关产品推荐

