DENY (エンドポイントの権限の拒否) (Transact-SQL)
エンドポイントに対する権限を拒否します。
構文
DENY permission [ ,...n ] ON ENDPOINT :: endpoint_name
TO < server_principal > [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
引数
permission
エンドポイントで拒否できる権限を指定します。権限の一覧については、後の「解説」を参照してください。ON ENDPOINT ::endpoint_name
権限を拒否するエンドポイントを指定します。スコープ修飾子 (::) が必要です。TO <server_principal>
権限を拒否する SQL Server ログインを指定します。SQL_Server_login
SQL Server ログインの名前を指定します。SQL_Server_login_from_Windows_login
Windows ログインから作成された SQL Server ログインの名前を指定します。SQL_Server_login_from_certificate
証明書にマップされている SQL Server ログインの名前を指定します。SQL_Server_login_from_AsymKey
非対称キーにマップされている SQL Server ログインの名前を指定します。CASCADE
このプリンシパルによって権限が許可されている他のプリンシパルに対しても、同じ権限を拒否することを示します。AS SQL_Server_login
このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元の SQL Server ログインを指定します。
説明
サーバー スコープの権限を拒否できるのは、現在のデータベースが master のときだけです。
エンドポイントに関する情報は、sys.endpoints カタログ ビューで確認できます。サーバー権限に関する情報は sys.server_permissions カタログ ビュー、サーバー プリンシパルに関する情報は sys.server_principals カタログ ビューでそれぞれ確認できます。
エンドポイントは、サーバー レベルのセキュリティ保護可能なリソースです。次の表に、エンドポイントで拒否できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
エンドポイント権限 |
権限が含まれるエンドポイント権限 |
権限が含まれるサーバー権限 |
---|---|---|
ALTER |
CONTROL |
ALTER ANY ENDPOINT |
CONNECT |
CONTROL |
CONTROL SERVER |
CONTROL |
CONTROL |
CONTROL SERVER |
TAKE OWNERSHIP |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
権限
エンドポイントに対する CONTROL 権限、またはサーバーに対する ALTER ANY ENDPOINT 権限が必要です。
例
A. エンドポイントの VIEW DEFINITION 権限を拒否する
次の例では、エンドポイント Mirror7 での VIEW DEFINITION 権限を、SQL Server ログイン ZArifin に対して拒否します。
USE master;
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;
GO
B. CASCADE オプションを使用して TAKE OWNERSHIP 権限を拒否する
次の例では、エンドポイント Shipping83 での TAKE OWNERSHIP 権限を、SQL Server ユーザー PKomosinski と、PKomosinski が TAKE OWNERSHIP 権限を許可したプリンシパルに対して拒否します。
USE master;
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski
CASCADE;
GO