前言
本篇文章我們將簡單介紹 Azure SQL Database 安全管理 與 防火牆設置。在防火牆層級部分,可以分成伺服器層級與資料庫層級,再搭配 Azure AD 部分,您可以擁有更多元的應用與權限規劃。在資料庫層級方面,因為與 SQL Server 相似,故僅提供連結參考,就不在贅述。本篇文章若有錯誤會任何建議,請各位先進不吝提出,謝謝。Azure Portal 上的 查詢編輯器功能,讓您更方便進行資料操作 |
介紹
關於 Azure SQL Database 安全管理具有下列特色:- 細部權限管理
→ 控制操作安全原則:包含欄位、表單、檢視、預存程序。 - 允許臨時和安全的權限提升
- 列層級安全 (Row level scurity)
→ 限制資料列透過安全原則進行存取 - 資料遮罩 (Data Masking)
→ 避免敏感資料曝光 - 預存程序
→ 限制預存程序使用 - 加密
→ 確保資料安全
Server-level firewall rule
- 啟用或停用整個 Azure SQL (全部資料庫在相同的邏輯伺服器)
- 可以透過 Azure Portal、Azure Powershell、REST API 或 T-SQL 進行設定
- 存取規則儲存在 master 資料庫
- 使用情境:administrator 或 多個資料庫有相同存取需求
Database-level firewall rule
- 啟用或停用存取個別資料庫
- 規則儲存在個別資料庫
- 可以透過 T-SQL 進行設定
- 盡可能使用 database-level firewall rule
- 強化安全細節且讓資料庫具有可攜性
Schema and object-level security features
在這個層級,SQL Database 與 SQL Server 使用相同的權限的模組。您可以透過 GRANT,REVOKE和 DENY 指令為資料庫庫中的用戶和角色分配資料庫物件權限。
Master Database Role
Azure SQL 資料庫在 master 資料庫中提供兩個角色。您可以將使用者分指定角色,以便為其授予伺服器級權限。資料庫角色:
loginmanager : 具有創建和管理登入的權限
dbmanager : 具有創建和管理資料庫的權限
使用者
與 SQL Server 一樣,SQL資料庫要求將登入對應到它們需要訪問的每個資料庫中使用者。 首次配置伺服器時,您創建的系統管理員會自動映射到所有資料庫中的 dbo 使用者。
資料庫角色
SQL 資料庫提供與SQL Server 2016 中的資料庫中相同的角色。您可以參考 Database-level Roles 並進行設定。
防火牆設置
伺服器防火牆規則你可以透過 Azure Portal 設定 SQL Database 伺服器防火牆規則,設定方式有三種:
1. 允許存取 Azure 服務
2. 允許當前客戶 IP:允許你目前訪問 Azure Portal 的 public IP Address
3. 允許一個或多個防火牆規則:每個規則擁有唯一名稱、起始 IP 與結束IP 所組成的範圍
Step 1. 在 Azure Portal 上點選您的 SQL Database → 防火牆設定
Step 2. 您可以點選 加入用戶端 IP 直接新增規則;也能開啟允許存取 Azure 服務 ;理所當然,您也能直接在下方輸入規則名稱與IP範圍進行設定。
資料庫防火牆規則
要管理資料庫防火牆規則,可以在想要設定防火牆規則的資料庫庫中使用 sp_set_database_firewall_rule 和 sp_delete_database_firewall_rule 系統預存程序。您也可以使用 Azure REST API 或 Windows PowerShell 實現相同的功能。
若要查看特定資料庫中的資料庫防火牆規則,可以查詢 sys.database_firewall_rules 系統檢視。
透過 sys.database_firewall_rules 查詢資料庫防火牆設定 |
0 留言