使用 SQL FQDN 配置 Azure 防火墙应用程序规则
现在可以使用 SQL FQDN 配置 Azure 防火墙应用程序规则。 这样,就可以限制为在你的虚拟网络中只能访问指定的 SQL 服务器实例。
使用 SQL FQDN 可以筛选流量:
- 从 VNet 到 Azure SQL 数据库或 Azure Synapse Analytics。 例如:仅允许访问 sql-server1.database.chinacloudapi.cn。
- 从本地发往 VNet 中运行的 Azure SQL 托管实例或 SQL IaaS 的流量。
- 从“分支到分支”到 VNet 中运行的 Azure SQL 托管实例或 SQL IaaS。
仅在代理模式下支持 SQL FQDN 筛选(端口 1433)。 如果在默认重定向模式下使用 SQL,则可以使用 SQL 服务标记作为网络规则的一部分来筛选访问。 如果对 SQL IaaS 通信使用非默认端口,则可以在防火墙应用程序规则中配置这些端口。
使用 Azure CLI 进行配置
如果筛选发往 Azure SQL 数据库、Azure Synapse Analytics 或 SQL 托管实例的流量,请确保将 SQL 连接模式设置为“代理”。 若要了解如何切换 SQL 连接模式,请参阅 Azure SQL 连接设置。
使用 SQL FQDN 创建包含应用程序规则的新规则集合,以允许访问 SQL 服务器:
az extension add -n azure-firewall az network firewall application-rule create \ --resource-group Test-FW-RG \ --firewall-name Test-FW01 \ --collection-name sqlRuleCollection \ --priority 1000 \ --action Allow \ --name sqlRule \ --protocols mssql=1433 \ --source-addresses 10.0.0.0/24 \ --target-fqdns sql-serv1.database.chinacloudapi.cn
使用 Azure PowerShell 进行配置
如果筛选发往 Azure SQL 数据库、Azure Synapse Analytics 或 SQL 托管实例的流量,请确保将 SQL 连接模式设置为“代理”。 若要了解如何切换 SQL 连接模式,请参阅 Azure SQL 连接设置。
使用 SQL FQDN 创建包含应用程序规则的新规则集合,以允许访问 SQL 服务器:
$AzFw = Get-AzFirewall -Name "Test-FW01" -ResourceGroupName "Test-FW-RG" $sqlRule = @{ Name = "sqlRule" Protocol = "mssql:1433" TargetFqdn = "sql-serv1.database.chinacloudapi.cn" SourceAddress = "10.0.0.0/24" } $rule = New-AzFirewallApplicationRule @sqlRule $sqlRuleCollection = @{ Name = "sqlRuleCollection" Priority = 1000 Rule = $rule ActionType = "Allow" } $ruleCollection = New-AzFirewallApplicationRuleCollection @sqlRuleCollection $Azfw.ApplicationRuleCollections.Add($ruleCollection) Set-AzFirewall -AzureFirewall $AzFw
使用 Azure 门户进行配置
如果筛选发往 Azure SQL 数据库、Azure Synapse Analytics 或 SQL 托管实例的流量,请确保将 SQL 连接模式设置为“代理”。 若要了解如何切换 SQL 连接模式,请参阅 Azure SQL 连接设置。
在应用程序规则中添加相应的协议、端口和 SQL FQDN,然后选择“保存”。
从通过防火墙筛选流量的 VNet 中的虚拟机访问 SQL。
验证 Azure 防火墙日志是否显示允许流量。
后续步骤
要了解 SQL 代理和重定向模式,请参阅 Azure SQL 数据库连接体系结构。