現在、MS Azure SQLでデータベースにアクセスするときはいつでも、サインインしてファイアウォール内のIPのリストにIPアドレスを追加する必要があります。そうしないと、クエリを実行できません。
毎回ファイアウォールのホワイトリストに自分を追加せずに、常にDBにアクセスするようにコンピューターを確認するためのより良い方法はありますか。
自分で固定IPを取得するか、0.0.0.0〜255.255.255.255のIP範囲を追加すると、基本的に問題が解決することはわかっていますが、他のオプションはありますか?
次のPowerShellスクリプトを実行するだけで、ファイアウォールルールが自動的に作成されます。その後、SQL Server ManagementStudioまたはAzureDataStudioを実行してAzureSQLDatabaseに接続する必要があります。
このスクリプトは、現在のIPをファイアウォールのホワイトリストに追加します。
$subscriptionName = 'Your Subscription'
$ipGetCommand = 'http://www.iplocation.net/find-ip-address'
$firewallRule = 'My-Home'
$serverName = "Your Server Name";
$webclient = New-Object System.Net.WebClient
$queryResult = $webclient.DownloadString($ipGetCommand)
$queryResult -match '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b'
$currentPublicIp = $($matches[0])
Select-AzureSubscription -SubscriptionName $subscriptionName
If ((Get-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule) -eq $null) {
New-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
else {
Set-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
}
コンピューターでスケジュールタスクを作成して、コンピューターの起動時にこのPowerShellを実行することもできます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加