删除 Azure Gateway 上的 WAF 策略

删除 Azure Gateway 上的 WAF 策略

在 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策略。

相关内容