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

SQL Server 常見問題彙編(二):DENY 陳述式與應用程式角色實作

     編輯:關於SqlServer

DENY 陳述式:精確禁止權限

SQL Server 7.0 新增 DENY,管理員可明確禁止使用者對物件的所有存取。舊版需執行兩次 REVOKE 模擬。範例:禁止某人查看特定表,DENY SELECT ON Authors TO User。

權限疊加規則:DENY 具最高優先權

使用者若透過群組擁有 SELECT、INSERT,另一群組被 DENY INSERT、UPDATE,結果僅保留 SELECT。DENY 會覆蓋 GRANT。嚴禁對 PUBLIC 角色使用 DENY(所有使用者皆屬 PUBLIC),否則全庫鎖死,新手管理員常犯此錯誤。

DENY 亦適用登錄名

授予網域群組 domain users 登入權限。員工 Joe 離職但未通知,無法用 REVOKE(非個別授予)。改用 DENY LOGIN TO Joe,Joe 無法登入,同群組其他成員不受影響。

應用程式角色實作細節

薪資應用程式範例:

  1. 應用程式以使用者安全內容登入 SQL Server(審計追蹤識別真實使用者)
  2. 切換目標資料庫
  3. 呼叫 sp_setapprole 'role_name', 'password' 啟動角色(密碼可加密傳輸)
  4. 使用者原有權限關閉,應用程式角色權限開啟
  5. 應用程式執行受控資料修改操作

關鍵限制:應用程式角色為連線專用。多連線需各自啟動。連線建立、切換資料庫後,第一動作必須是 sp_setapprole,否則無法存取角色專屬資料。

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