Powershell 脚本 Azure SQL DB 防火墙

问题描述 投票:0回答:1

Azure 新手。我尝试通过从 CloudShell 运行的脚本来设置 Azure SQL 数据库来模拟手动设置。我使用此网站作为起点:https://www.sqlshack.com/provisioning-azure-sql-database-using-azure-powershell/

我想编写脚本:

  1. 公共端点作为连接方法
  2. 将“允许 Azure 服务和资源访问此服务器”设置为 yes
  3. 将“添加当前客户端 IP 地址”设置为“是”

我对 Azure、防火墙不熟悉,所以请温柔一点。

azure firewall azure-cloud-shell
1个回答
0
投票

您可以运行下面的 PowerShell 脚本以在 Azure SQL 数据库中启用公共 IP 地址:

Import-Module Az.Accounts
Import-Module Az.Sql 
Connect-AzAccount
Select-AzSubscription -SubscriptionId "<subscriptionId>"
$SecureString = ConvertTo-SecureString "<adminPassword>" -AsPlainText -Force
Set-AzSqlServer -ServerName "<serverName>" -ResourceGroupName "<RGName>" -SqlAdministratorPassword $SecureString -PublicNetworkAccess "Enabled"

您可以看到如下图所示的结果:

enter image description here

并开启公网访问,如下:

enter image description here

根据this,如果您向 SQL Server 添加以 0.0.0.0 作为起始和结束 IP 地址的防火墙规则,则“允许 Azure 服务和资源访问此服务器”将设置为“是”。运行下面的脚本来设置防火墙规则:

az sql server firewall-rule create --resource-group "<RGName>" --server "<serverName>" -n "<firewallRuleName>" --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

您可以看到如下结果:

enter image description here

并且“允许Azure服务和资源访问此服务器”设置为yes,如下所述:

enter image description here

您可以运行以下脚本将当前IP地址添加到SQL服务器。调用“https://api.ipify.org”获取当前IP,如下所示:

$ipAddress = Invoke-WebRequest 'https://api.ipify.org' | Select-Object -ExpandProperty Content    
az sql server firewall-rule create --resource-group "<RGName>" --server "<serverName>" -n "<firewallRuleName>" --start-ip-address $ipAddress --end-ip-address $ipAddress

您可以看到如下结果:

enter image description here

它将把当前的IP地址添加到防火墙规则中,如下所述:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.