2012-11-13 18 views
5

我有一個使用不同服務器的不同數據庫的Azure應用程序。這個數據庫是獨立的,我的應用程序的每個部分只使用一個數據庫。 我嘗試做一個IP過濾器。這個過濾器必須標識請求者的ip,並且允許訪問每個數據庫或不依賴於這個過濾器。這爲我提供了一種方法,允許訪問A,而不是B訪問IP,訪問B而不訪問另一個IP,訪問另一個不同的IP ......使用Azure的安全性。 這可能嗎?Azure - 取決於數據庫的IP篩選器

謝謝,我等待一個答案!

PD:抱歉我的可怕的英語!

回答

0

假設你指的是SQL Azure的託管的數據庫,您可以使用數據庫級別的防火牆設置,都記錄here

通過使用 sp_set_database_firewall_rule存儲過程來創建數據庫級防火牆規則。在 指定一個唯一的名稱存儲 過程sp_set_database_firewall_rule的名稱參數添加一個新的防火牆 設置爲基於互聯網的連接。指定在範圍內的最低所需的IP地址與 的start_ip_address參數和 ,與end_ip_address參數範圍內的最高期望的IP地址。名稱參數爲 nvarchar數據類型,start_ip_address和end_ip_address參數爲varchar數據類型。

同樣,您可以使用sp_set_database_firewall_rule存儲過程與 參數start_ip_address和end_ip_address等於0.0.0.0通過 能夠從Windows Azure的連接嘗試。

+0

感謝您的答覆! 但據我所知,基本級鎖SQL只限制對試圖連接的外部應用程序的訪問。通過允許所有連接Azure服務,無論攻擊我的應用程序的IP如何,與數據庫聯繫的IP都是應用程序的IP,而不是客戶端(始終使用來自應用程序的IP)。因此,我不知道限制這種訪問。 – Esneik

0

我相信你應該已經發現了一個解決方案給予其幾個月老了,但只是在情況...

假設我理解正確的話,你有一羣客戶端與您的應用程序服務器進行通信,這些客戶端又查詢許多數據庫服務器中的一個由於客戶端沒有實際訪問數據庫,因此mellamokb建議的防火牆不是一種選擇,因此需要在應用程序服務器上安裝。

選擇用於訪問/基於客戶端的IP地址數據庫連接字符串可能是你在這裏後,在做什麼。如果您還需要使用其本機安全性鎖定數據庫,則需要爲每個客戶端創建一個指定的用戶帳戶。

另外,還可以探討在Azure SQL數據庫Federations並使用在客戶端的IP地址或類似標識符的分配密鑰。