前言
資料庫安全是 DBA 核心職責。SQL Server 採用「三重門」驗證機制:登入驗證 → 資料庫驗證 → 物件權限。本文詳細說明各層防護配置步驟與最佳實務。
三重防護架構
- 登入驗證(大廈大門):建立登入帳號,支援 Windows 驗證與 SQL Server 驗證(混合模式)
- 資料庫驗證(房間鑰匙):將登入對應至資料庫使用者,授予資料庫存取權
- 物件權限(保險櫃密碼):在具體表/視圖/程序授予 SELECT、INSERT、EXECUTE 等細粒度權限
詳細配置步驟 (SSMS 圖形化)
1. 建立登入帳號
- 路徑:SSMS → SQL Server 實例 → 安全性 → 登入名 → 右鍵「新增登入名」
- 選擇驗證模式:Windows 帳號(需先在 OS 建立)或 SQL Server 驗證
- 指定預設資料庫(如 master)
2. 建立資料庫使用者(映射登入)
- 方式一:資料庫 → 安全性 → 使用者 → 新增使用者
- 方式二:登入屬性 → 使用者對應 → 勾選目標資料庫
- 通常登入名與資料庫使用者名保持一致
3. 授予物件權限
- 三種操作:GRANT(授予)、REVOKE(回收)、DENY(拒絕)
- 範例:GRANT SELECT ON dbo.Orders TO [User1];
驗證測試
新建查詢視窗,以新建立帳號登入,確認:能連線、能存取對應資料庫、能執行授權操作、無法執行未授權操作。