如何解决“允许Azure服务和资源访问此服务器”创建的防火墙规则的名称是什么?
我将托管的Azure数据库服务器的“允许Azure服务和资源访问此服务器”设置为“开”。
每天晚上11:00,我们运行一个脚本来删除所有在工作日访问数据库的开发人员制定的防火墙规则。 (基本上,这是我们对数据库访问的JIT防火墙访问的实现。)我注意到,“允许Azure服务和资源访问该服务器”选项始终在此脚本运行后切换为“关闭”。
以下是我们的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
,您会看到 FirewallRuleName 是AllowAllWindowsAzureIps
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。