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

SQL Server 7.0 安全模式、登入管理與權限架構完整指南

     編輯:關於SqlServer

兩大安全模式對比

模式對應 6.5 模式特點適用場景
SQL Server 和 Windows NT (混合模式)混合模式支援 SQL 登入 + NT 登入;非 NT 用戶端/Internet 用戶可連線異構用戶端、Web 應用、需 SQL 登入的舊系統
僅 Windows NT信任模式僅支援 NT/網域帳號;單一登入、密碼策略由 NT 統一管理純內網 Windows 環境、重視單一身分識別管理

注意: SQL 7.0 移除了 6.5 的「標準模式」(僅 SQL 登入)。

管理工具變更

  • 6.5 **SQL 安全管理器** → 7.0 **安全精靈** (Security Wizard),引導式設定登入、角色、權限。
  • 企業管理器 (EM) 圖形化介面成為主流操作入口。

設定安全模式 (EM)

  1. 展開伺服器群組 → 右鍵伺服器 → **屬性** → **安全性** 索引標籤
  2. 選擇「SQL Server 和 Windows NT」或「僅 Windows NT」
  3. 確定 → 重啟 SQL Server 服務生效

授權 Windows 群組/用戶登入

EM 圖形化操作

  1. 展開伺服器 → **安全性** → **登入** → 右鍵 **新增登入**
  2. 名稱輸入「網域\群組」或「網域\用戶」
  3. 驗證模式選 **Windows NT 驗證**,選擇網域
  4. 預設資料庫、語言 → 確定

T-SQL 指令

-- 授權網域群組/用戶
EXEC sp_grantlogin 'DOMAIN\GroupName';  -- 或 'DOMAIN\UserName'

-- 撤銷授權
EXEC sp_revokelogin 'DOMAIN\GroupName';

群組授權關鍵行為

  • **群組成員異動自動生效**:增減群組成員**無需**修改 SQL 登入。
  • **刪除群組/用戶不自動移除登入**:需手動 sp_revokelogin,否則殘留登入記錄。
  • **拒絕存取覆蓋授權**:若群組獲授權,但個別成員在 SQL 設為「拒絕存取」,該成員無法連線。

三層權限架構

  1. 伺服器層級:登入帳號、伺服器角色 (sysadmin, securityadmin, serveradmin, setupadmin, processadmin, diskadmin, dbcreator, bulkadmin)
  2. 資料庫層級:資料庫使用者 (對應登入)、資料庫角色 (db_owner, db_datareader, db_datawriter, db_ddladmin, db_securityadmin, db_backupoperator, db_denydatareader, db_denydatawriter, public, 自訂角色)
  3. 物件層級:GRANT/DENY/REVOKE ON 物件 (SELECT, INSERT, UPDATE, DELETE, EXEC, REFERENCES 等)

最佳實踐建議

  • **優先使用 Windows 驗證**,整合網域密碼策略、鎖定、稽核。
  • **善用角色**:用戶→資料庫角色→權限,避免直接對用戶授權物件權限。
  • **最小權限原則**:應用程式連線帳號僅授予必要資料庫的 db_datareader/db_datawriter + 執行特定預存程序權限。
  • **立即修改 sa 密碼**,嚴格限制 sysadmin 成員數量。
  • **啟用登入稽核**:屬性 → 安全性 → 稽核層級:失敗/成功/全部。

結語

SQL Server 7.0 奠定了「Windows 整合驗證 + 角色基礎存取控制 (RBAC)」的現代安全架構基石。掌握兩大模式差異、群組授權行為、三層權限模型與最佳實踐,能構建合規、可審計、易維護的資料庫安全防線。

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