Share via


DENY (エンドポイントの権限の拒否) (Transact-SQL)

エンドポイントに対する権限を拒否します。

トピック リンク アイコン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