在 Azure 上,我需要解除与 Azure 应用程序网关绑定的现有 WAF 策略,但找不到方法。
我创建了一个新的 WAF 策略并将其与我的 Azure 应用程序网关关联。我不喜欢它的配置方式,现在想删除它,但它给了我一条错误消息,说
无法删除 WAF 策略“wafpolicyNew”。错误:无法删除防火墙策略,因为它仍分配给资源订阅/75d2e0ac-xxxxx450c0a6fc/resourceGroups/xxx/providers/Microsoft.Network/applicationGateways/mygateway
有什么方法可以将该策略与我的应用程序网关分离吗?
我试过使用 Powershell
$appGw = Get-AzApplicationGateway -Name "mygateway"
$appGw.FirewallPolicy = $null
Set-AzApplicationGateway -ApplicationGateway $appGw
但我收到另一条错误消息
无法从应用程序网关中删除,允许从一个防火墙策略更改为另一个防火墙策略
并且还尝试使用门户寻找解除关联按钮,但没有找到。
答案1
可以使用 Azure CLI 从应用程序网关中删除 WAF 策略。
停止应用程序网关。
az network application-gateway stop -g MyResourceGroup -n MyAppGateway
删除策略
az network application-gateway waf-policy delete --name MyApplicationGatewayWAFPolicy --resource-group MyResourceGroup
答案2
@Citizen 它对我不起作用。即使我停止了关联的应用网关,我也收到“(waf 策略)无法删除,因为它仍分配给资源”的信息。
https://docs.microsoft.com/en-us/azure/web-application-firewall/ag/create-waf-policy-ag
“一旦防火墙策略与 WAF 关联,就必须始终有一个策略与该 WAF 关联。您可以覆盖该策略,但不支持完全取消策略与 WAF 的关联。”
答案3
我知道这可能是一个老话题。但以下解决方案对我有用。
$SubscriptionId = 'xxxx'
$ResourceGroupName = 'xxxx'
$GatewayName = 'xxxx'
Connect-AzAccount -Subscription $SubscriptionId
$appGw = Get-AzApplicationGateway -ResourceGroupName $ResourceGroupName -Name $GatewayName
$appGw.FirewallPolicy = $null
$appGw.Sku.Name = 'Standard_v2'
$appGw.Sku.Tier = 'Standard_v2'
$appGw.WebApplicationFirewallConfiguration = $null
$appGW.ForceFirewallPolicyAssociation = $true
Set-AzApplicationGateway -ApplicationGateway $AppGw
然后您可以对网关进行更改,并将网关升级到WAF V2,并再次关联WAF策略。