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

適用対象:SQL ServerAzure SQL Managed Instance

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

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
エンドポイントで拒否できる権限を指定します。 権限の一覧については、後の「解説」を参照してください。

ENDPOINT ::endpoint_name
権限を拒否するエンドポイントを指定します。 スコープ修飾子 ( :: ) が必要です。

<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
このプリンシパルによって権限が許可されている他のプリンシパルに対しても、同じ権限を拒否することを示します。

SQL_Server_login
このクエリを実行するプリンシパルが権限を拒否する権利を取得した、元の SQL Server ログインを指定します。

解説

サーバー スコープの権限を拒否できるのは、現在のデータベースが master のときだけです。

エンドポイントに関する情報は、sys.endpoints カタログ ビューで確認できます。 サーバー権限に関する情報は sys.server_permissions カタログ ビュー、サーバー プリンシパルに関する情報は sys.server_principals カタログ ビューでそれぞれ確認できます。

エンドポイントは、サーバー レベルのセキュリティ保護可能なリソースです。 次の表に、エンドポイントで拒否できる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。

エンドポイント権限 権限が含まれるエンドポイント権限 権限が含まれるサーバー権限
ALTER CONTROL "任意の ENDPOINT を変更"
CONNECT CONTROL 制御サーバー
CONTROL CONTROL 制御サーバー
所有権を取得する CONTROL 制御サーバー
VIEW 定義 CONTROL VIEW 任意の定義

アクセス許可

エンドポイントに対してCONTROL権限が必要か、サーバー上の任意の ENDPOINT 権限をALTERする必要があります。

例

A. エンドポイント VIEW DEFINITION権限を拒否する

次の例では、エンドポイント VIEW DEFINITION での Mirror7 権限を、SQL Server ログイン ZArifin に対して拒否します。

USE master;  
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;  
GO  

B. CASCADE オプションを使用して TAKE OWNERSHIP 権限を拒否する

次の例では、エンドポイント TAKE OWNERSHIP での Shipping83 権限を、SQL Server ユーザー PKomosinski と、PKomosinski が TAKE OWNERSHIP 権限を許可したプリンシパルに対して拒否します。

USE master;  
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski   
    CASCADE;  
GO