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

SQL Server 權限管理:DENY 陳述式完整參考

     編輯:關於SqlServer

DENY 陳述式 - 拒絕權限

在安全性系統中建立項目,拒絕將權限授予目前資料庫內的安全性帳戶,並防止安全性帳戶透過群組或角色成員資格繼承權限。

語法

陳述式權限

DENY { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]

物件權限

DENY
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
    [ ( column [ ,...n ] ) ] ON { table | view }
  | ON { table | view } [ ( column [ ,...n ] ) ]
  | ON { stored_procedure | extended_procedure }
  | ON { user_defined_function }
}
TO security_account [ ,...n ]
[ CASCADE ]

參數說明

  • ALL:拒絕所有適用權限。陳述式權限僅 sysadmin 角色可用;物件權限 sysadmin、db_owner 角色與物件擁有者可用
  • statement:被拒絕的陳述式(CREATE DATABASE、CREATE TABLE、BACKUP DATABASE 等)
  • permission:物件權限(SELECT、INSERT、UPDATE、DELETE、EXECUTE、REFERENCES 等)
  • security_account:SQL Server 使用者、角色、Windows 使用者/群組
  • CASCADE:拒絕來自 security_account 的權限時,同時拒絕由其授權的其他安全性帳戶

重要行為

  • 若群組/角色與成員權限衝突,限制性最強的 DENY 優先
  • 對 public 角色拒絕權限影響資料庫所有使用者
  • 對 guest 使用者拒絕權限影響所有無使用者帳戶的使用者
  • Windows 內建群組指定 BUILTIN 而非網域/電腦名

範例

-- A. 拒絕陳述式權限
DENY CREATE DATABASE, CREATE TABLE TO Mary, John, [Corporate\BobJ]

-- B. 權限階層中拒絕物件權限
USE pubs
GRANT SELECT ON authors TO public
DENY SELECT, INSERT, UPDATE, DELETE ON authors TO Mary, John, Tom

-- C. 對 SQL Server 角色拒絕權限
DENY CREATE TABLE TO Accounting

相關指令

REVOKE 可移除被拒絕的權限;GRANT 可移除拒絕並顯式授予權限。

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