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

SQL Server 常見問題彙編(三):角色機制與應用程式角色

     編輯:關於SqlServer

資料庫角色:分散管理權限

SQL Server 7.0 引入 7 種固定伺服器角色、9 種固定資料庫角色。舊版僅有 sa 擁有所有權限,多位使用者映射為 sa 導致審計無法辨識具體操作者。新架構透過角色成員資格授權,將系統管理員權限細分:sysadmin(系統管理)、dbcreator(建立/變更資料庫)、securityadmin(管理登錄/預設資料庫)等。sa 保留僅為相容性,實際權限來自 sysadmin 角色成員資格。審計追蹤依 Windows NT 或 SQL Server 登錄名記錄,不受權限分配影響。

資料庫層級同理:db_owner 取代 dbo 擁有完全控制權;db_accessadmin(存取控制)、db_securityadmin(授權)、db_backupoperator(備份)等細分角色。支援使用者自訂角色、應用程式角色,且使用者可同時隸屬多角色。

整合 Windows NT 安全性的雙重優勢

更強健:標準安全模式缺乏密碼到期、防空密碼、最小長度、進階密碼策略。整合後套用 Windows NT 密碼原則即同步強化 SQL Server。
更易實施:新增整個網域群組為 SQL Server 登錄,動態生效。舊版需列舉群組成員,成員異動須重新操作。新架構下,群組成員被刪除自動失去存取權,無需額外維護。

應用程式角色運作機制

情境:薪資應用程式允許更新薪資,但禁止使用者直接登入修改(防自行調薪)。應用程式以使用者身分登入(審計追蹤),切換資料庫後呼叫 sp_setapprole 啟動應用程式角色(受密碼保護,傳輸可加密)。啟動後,使用者原有權限關閉,應用程式角色權限生效,執行特定業務邏輯(如防自我修改薪資)。

注意:應用程式角色屬連線專用。多連線需各自啟動。連線建立並切換資料庫後,首要動作即呼叫 sp_setapprole,否則無法存取角色專屬資料。

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