'Allow Azure services and resources to access this server' 创建的防火墙规则的名称是什么

What is the name of the firewall rule created by 'Allow Azure services and resources to access this server'

我已将托管的 Azure 数据库服务器 'Allow Azure services and resources to access this server' 设置为开启。

每天晚上 11:00pm 我们 运行 一个脚本来删除所有防火墙规则,这些规则是由在工作日访问数据库的开发人员设置的。 (基本上,这是我们对数据库访问的 JIT 防火墙访问的实现。)我注意到 'Allow Azure services and resources to access this server' 的选项在这个脚本 运行s.

之后一直切换到 OFF

这是我们的 Runbook 中的相关代码行:

Get-AzSqlServerFirewallRule -ServerName r******ql -ResourceGroupName r*****rg | Where {$_.FirewallRuleName -notlike "Locked_*"} | Remove-AzSqlServerFirewallRule

我想,虽然没有明确显示,但允许 Azure 服务的选项会创建一个防火墙规则,该规则正在被我的脚本删除。我需要知道此防火墙规则名称的模式,以便我可以将其从删除语句中排除。

您可以将 允许 Azure 服务和资源访问此服务器 选项改为 Yes 然后 运行 Get-AzSqlServerFirewallRule -ServerName r******ql -ResourceGroupName r*****rg ,您将看到 FirewallRuleNameAllowAllWindowsAzureIps

PS C:\Users\myuser> Get-AzSqlServerFirewallRule -ServerName xxx-Server -ResourceGroupName xxx-Resources


ResourceGroupName : xxx-Resources
ServerName        : xxx-Server
StartIpAddress    : 0.0.0.0
EndIpAddress      : 0.0.0.0
FirewallRuleName  : AllowAllWindowsAzureIps

你想要的会是这样,

Get-AzSqlServerFirewallRule -ServerName r******ql -ResourceGroupName r*****rg | Where {$_.FirewallRuleName -notlike "Locked_*" -and $_.FirewallRuleName -notlike "AllowAllWindowsAzureIps" } | Remove-AzSqlServerFirewallRule