首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 資料庫安全規劃全攻略(下):角色設計與權限實作

     編輯:關於SqlServer

第三步:建立全域群組對應業務角色

依據資料存取需求將使用者分組,例如會計系統:
Data Entry Operators、Accounting Data Entry Managers、Report Writers、Accountants、Auditors、Finance Managers。
命名原則:功能清晰、易辨識,便於後續授權與稽核。

基礎管理群組(建議建立)

  • SQL Server Administrators → sysadmin 伺服器角色
  • SQL Server Users → 僅授予登入權限,預設 DB=master,無其他資料庫存取
  • SQL Server Denied Users → 明確拒絕登入(拒絕優先於允許)
  • SQL Server DB Creators → dbcreator 伺服器角色
  • SQL Server Security Operators → securityadmin 伺服器角色
  • SQL Server Database Security Operators → 各資料庫 db_securityadmin
  • SQL Server Developers → 開發環境 db_owner 或自訂權限
  • DB_Name Users → 個別資料庫存取群組

授權實作:使用系統預存程序

企業管理器僅能從現有登入清單選擇,無法直接選網域群組。須用 Query Analyzer 執行:

伺服器角色授權

EXEC sp_addsrvrolemember 'DOMAIN\SQL Server Administrators', 'sysadmin';
EXEC sp_addsrvrolemember 'DOMAIN\SQL Server DB Creators', 'dbcreator';
EXEC sp_addsrvrolemember 'DOMAIN\SQL Server Security Operators', 'securityadmin';

參數需完整網域路徑 DOMAIN\Account。

資料庫角色授權

-- 在目標資料庫內執行
EXEC sp_addrolemember 'db_datareader', 'DOMAIN\Accounting Users';
EXEC sp_addrolemember 'db_datawriter', 'DOMAIN\Data Entry Operators';

善用 Model 資料庫自動化新資料庫權限

SQL Server 建立新資料庫時會複製 Model 的所有物件與權限。
預先在 Model 中:
1. 建立資料庫角色並授權。
2. 將 DB_Name Users 群組加入對應角色。
後續 CREATE DATABASE 即自動繼承,免逐一定義。

拒絕權限的優先順序

DENY 永遠優先於 GRANT。善用 SQL Server Denied Users 群組快速封鎖離職/異動人員存取,無需逐一撤銷授權。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved