SQL Azure Database的安全性設定(一)

by adonisy 14. 一月 2020 10:30

作 者:楊先民
審 稿:張智凱

 

在遷移到雲端時,安全性是組織的最主要的關注重點,因此組織對此猶豫不決。 Microsoft在Azure服務的實體、邏輯和數據層提供了強大的安全保護。
Microsoft資料中心是世界上最安全的資料中心之一。 Azure SQL數據庫提供多層安全性,以控制使用SQL Server或Active Directory(AD)身份驗證以及防火牆規則對數據庫的訪問,
防火牆規則通過基於角色的權限和行級安全性來限制對數據的訪問。
Azure SQL數據庫使用動態數據屏蔽,自動審核和威脅檢測來提供主動安全性。它還提供透明的數據加密以加密靜態數據,並提供“始終加密”以加密靜態或動態數據。
本期將介紹這些安全機制以及如何實現和使用它們來保護Azure SQL資料庫。


訪問控制Azure SQL資料庫通過防火牆規則限制對資料庫的訪問,防火牆規則是身份驗證技術,要求用戶使用有效的用戶名和密碼登錄資料庫。
Azure SQL資料庫通過基於角色的權限和行級安全性進一步控制對基礎資料的訪問。現在,我們將詳細介紹不同的訪問控制方法。

 

防火牆規則

Azure SQL資料庫使用防火牆規則來限制對授權IP的訪問,並阻止對未經授權IP的訪問。這是Azure SQL數據庫提供的訪問控制的第一級。可以在服務器級別和資料庫級別創建防火牆規則。

設置SQL資料庫後,每個人都無法連結。如果要讓使用者可以連結,首先需要添加服務器級防火牆規則。防火牆允許一個IP或一系列IP地址連接到Azure SQL資料庫。

然後,您可以創建資料庫防火牆規則,以使某些客戶端可以訪問各個安全資料庫。首先根據防火牆規則驗證到Azure SQL資料庫的連接請求,並允許具有防火牆規則中指定IP的計算機連接到資料庫。

 

如果電腦嘗試通過Internet連接到Azure SQL資料庫,則:根據資料庫級防火牆規則驗證計算機的IP地址。如果IP地址在資料庫防火牆規則中指定的IP範圍內,則建立連接。

如果電腦的IP地址不屬於資料庫級防火牆規則,則將檢查服務器級防火牆規則。如果計算機的IP地址在服務器級防火牆規則中,則建立連接。 如果計算機的IP地址不在

資料庫級別或服務器級別的防火牆規則之內,則連接將終止並出現錯誤。

 

使用Azure portal管理服務器級防火牆規則在這裡,學習如何從Azure門戶創建,刪除和更新服務器級防火牆規則:
1.登錄到Azure portal(https:// portal.azure.com)使用你的Azure帳號密碼。

2.找尋並打開要為其管理防火牆的Azure SQL服務器。

3.在“ Azure SQL Server”概述頁面中,選擇“設置服務器防火牆”選項:

 

 

接下來設定你的 clinet ip在上面,並且按下 Save,你可以選擇 Add client IP,或是輸入一個區問的 ip位置。通常我比較懶,直接選擇 Add client IP,然後儲存。

使用Transact-SQL管理服務器級防火牆規則

你還可以使用Transact-SQL代替Azure portal 來管理服務器級防火牆規則。

1.打開SQL Server Management Studio(SSMS)並連接到Azure SQL服務器。由於你已經增加了服務器級防火牆規則,因此你現在應該能夠連接。

2.在 master database,查詢下列句法以列出所有現有的服務器級防火牆規則:

select * from sys.firewall_rules

你應該得到類似以下的畫面資料:


 

你可以利用下面的 TSQL句法來增加新的防火牆規則

Execute sp_set_firewall_rule @name = N'Work', @start_ip_address = '115.118.1.0', @end_ip_address = '115.118.16.255' 

這樣,再使用 select * from sys.firewall_rules時,就可以看到新的防火牆規則了。

若你想刪除,則使用下面的預存程序來完成。

Execute sp_delete_firewall_rule @name= N'Work' 

 

使用Transact-SQL管理資料庫層級防火牆規則

與服務器層級防火牆規則一樣,也可以使用Transact-SQL管理資料庫級防火牆規則。

不過資料庫層級的防火牆規則,只能夠使用 Transact-SQL來設定,無法使用 Azure portal完成。

你可以透過 select * from sys.database_firewall_rules的方式來查詢目前的防火牆規則。

並且利用下面的指令來建立防火牆規則:

Exec sp_set_database_firewall_rule @name=N'MasterDB', @start_ip_ address='115.118.10.0', @end_ip_address='115.118.16.255' 

若是想要刪除的話,則可以使用下面的指令來完成。

Exec sp_delete_database_firewall_rule @name=N'MasterDB' 

 

設定資料庫的防火牆規則有時還是有其必要性,主要是在如果把資料庫搬移到別的伺服器的話,資料庫防火牆規則的設定被帶著走的

所以以上就是本期的主題,設定 Azure資料庫的安全性。

 

 

Tags:

SQL Server資料庫 | 楊先民Adonis Young

不允許評論

NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List