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

SQL Server 2005 登入、角色、使用者、結構描述關係圖解:權限架構全景掌握

     編輯:關於SqlServer

SQL Server 2005 重構安全模型,引入結構描述獨立於使用者,大幅提升權限管理靈活度。本文以概念釐清、關係圖解、實戰建立流程三維度,徹底講透五大核心實體關係。

五大核心實體定義

實體層級核心職責
伺服器登入伺服器驗證身分,允許連線實例
伺服器角色伺服器預定 9 組固定權限集合 (sysadmin、securityadmin…)
資料庫使用者資料庫對應登入,擁有資料庫操作權限
資料庫角色資料庫可自訂權限集合 (db_owner、db_datareader…)
結構描述資料庫物件容器/命名空間,擁有者可為角色/使用者

關鍵對應規則

  1. 登入 → (對應) → 資料庫使用者:一對多 (一登入可對應多資料庫使用者)
  2. 使用者 → (隸屬) → 資料庫角色:獲得角色權限
  3. 角色 → (擁有) → 結構描述:角色擁有者自動擁有結構描述物件權限
  4. 使用者 → (預設) → 結構描述:無結構描述前綴查詢時隱含預設結構描述
  5. 非預設結構描述物件 → 必須 結構描述.物件 完整限定

關係圖解

實戰:建立非 sa 帳戶完整流程

  1. 新增登入 Login1 (Windows/SSMS 驗證)
  2. 新增資料庫 DB1
  3. 新增結構描述 Schema1 (擁有者可設為角色/使用者)
  4. 新增使用者 User1:對應 Login1、預設結構描述 Schema1、角色勾選 db_owner
  5. 登入屬性→使用者對應:勾選 DB1、使用者填 User1、預設結構描述 Schema1
  6. 驗證:新建物件自動歸屬 Schema1.Table1
  7. 擴充:User1 擁有 Schema2 權限 → 可存取 Schema2.Table2

截圖流程:

進階觀察

  • 多資料庫可建立同名使用者 (User1),但單一資料庫內使用者名稱唯一
  • 結構描述分離使「物件所有權轉移」變為單純 ALTER SCHEMA 轉移,無需重建物件
  • 最小權限原則:登入僅獲 CONNECT,使用者透過角色獲精細權限,結構描述隔離多租戶/多模組物件

掌握此五層關係,即掌握 SQL Server 2005+ 安全架構的靈魂。

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