2012-09-27 71 views
12

從Azure MySQL遷移到SQL Server我需要指定一系列可以訪問Db的IP地址。Azure SQL Server防火牆IP地址範圍

是否可以輸入0.0.0.0到255.255.255.255的範圍?是否有一個IP地址範圍會給我一個'全部允許'。它對我來說不太實際,因爲它知道請求會來自哪裏,並不斷更新數據庫防火牆規則。

回答

10

是否可以輸入0.0.0.0到255.255.255.255的範圍?是否有一個IP地址範圍會給我一個'全部允許'。它對我來說不太實際,因爲它知道請求會來自哪裏,並不斷更新數據庫防火牆規則。

是的,這將允許從每個IP地址訪問您的SQL Azure數據庫,但它肯定不被推薦。當你提到你不知道從哪裏收到請求時,你的意思是請求你的應用程序還是請求連接到數據庫?如果它是請求你的應用程序,你並不需要指定這個範圍。您可以指定0.0.0.0,這將允許在Windows Azure中運行的應用程序訪問此數據庫。

+0

我將坐在客戶辦公室,並用筆記本電腦連接桌面應用程序。 – Pablo

+2

我仍然不建議打開所有的端口。設置防火牆規則只需要幾分鐘,並且在需要的基礎上設置這些條目會更安全。我的2美分:) –

2

我會建議每次您希望從新IP連接時使用mac的powershell/Azure命令行工具(http://azure.microsoft.com/en-us/documentation/articles/command-line-tools/)運行腳本。

如果使用的是Mac使用命令行工具,然後連接您的Azure訂閱:

#!/bin/bash 

externalIP=$(curl -s icanhazip.com) 

ruleName="temp$externalIP" 

echo "$externalIP" 

azure sql firewallrule create [ServerName] "$ruleName" "$externalIP" "$externalIP" 

保存爲azureip.sh,並從終端上運行。

如果使用Windows有使用這種從PowerShell的

0

舊的例子很多,但剛到這裏,我想有被允許的服務,是或否Azure的SQL數據庫服務器下(配置選項卡)。切換到是

0

添加到羅納德的解決方案,刪除現有的臨時規則和使用ipv4端點。

#!/bin/bash 

server="yourservername" 
azure sql firewallrule list $server | awk '{print $2}' | grep temp | while read line ; do azure sql firewallrule delete $server $line -q ; done 

externalIP=$(curl -s ipv4.icanhazip.com) 

ruleName="temp$externalIP" 


azure sql firewallrule create $server "$ruleName" "$externalIP" "$externalIP"