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

適用対象:SQL Server

エンドポイントに対して許可または拒否された権限を取り消します。

Transact-SQL 構文表記規則

構文

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]   
    ON ENDPOINT :: endpoint_name  
    { FROM | 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
権限を許可するエンドポイントを指定します。 スコープ修飾子 ( :: ) が必要です。

{ FROM | 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 ログインの名前を指定します。

GRANT オプション
指定した権限を他のプリンシパルに許可するための権利が、取り消されることを示します。 権限自体は取り消されません。

重要

もし校長が指定された許可を得て GRANT オプションがない場合、その許可自体は取り消されます。

CASCADE
このプリンシパルによって権限が許可または拒否されている他のプリンシパルからも、同じ権限が取り消されることを示します。

注意事項

WITH GRANT OPTIONで付与された許可の連鎖的な取り消しは、その許可の GRANT と DENY の両方を取り消します。

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;  
REVOKE VIEW DEFINITION ON ENDPOINT::Mirror7 FROM ZArifin;  
GO  

B. CASCADE オプションを指定して TAKE OWNERSHIP 権限を取り消す

次の例では、エンドポイント TAKE OWNERSHIP での Shipping83 権限を、SQL Server ユーザー PKomosinski と、PKomosinski が TAKE OWNERSHIP の Shipping83 権限を許可したすべてのプリンシパルから取り消します。

USE master;  
REVOKE TAKE OWNERSHIP ON ENDPOINT::Shipping83 FROM PKomosinski   
    CASCADE;  
GO