REVOKE (サーバー プリンシパルの権限の取り消し) (Transact-SQL)
SQL Server ログインに対して許可または拒否された権限を取り消します。
構文
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
{ 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
| server_role
引数
permission
SQL Server ログインで取り消せる権限を指定します。 権限の一覧については、後の「解説」を参照してください。LOGIN :: SQL_Server_login
取り消される権限の対象となる SQL Server ログインを指定します。 スコープ修飾子 (::) が必要です。SERVER ROLE :: server_role
権限を取り消すサーバー ロールを指定します。 スコープ修飾子 (::) が必要です。{ 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 ログインの名前を指定します。server_role
ユーザー定義サーバー ロールの名前を指定します。GRANT OPTION
指定した権限を他のプリンシパルに許可するための権利が取り消されます。 権限自体は取り消されません。重要 指定した権限が GRANT オプションなしでプリンシパルに許可されている場合は、その権限自体が取り消されます。
CASCADE
このプリンシパルによって権限が許可または拒否されている他のプリンシパルからも、同じ権限が取り消されることを示します。注意 WITH GRANT OPTION で許可されている権限を CASCADE で取り消すと、その権限の GRANT および DENY の両方が取り消されます。
AS SQL_Server_login
このクエリを実行するプリンシパルが権限を取り消す権利を取得した、元の SQL Server ログインを指定します。
説明
SQL Server ログインおよびサーバー ロールはサーバー レベルのセキュリティ保護可能なリソースです。 次の表に、SQL Server ログインまたはサーバー ロールで取り消すことができる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。
SQL Server ログインまたはサーバー ロールの権限 |
権限が含まれる SQL Server ログインまたはサーバー ロールの権限 |
権限が含まれるサーバー権限 |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN ALTER ANY SERVER ROLE |
権限
ログインの場合、ログインに対する CONTROL 権限、またはサーバーに対する ALTER ANY LOGIN 権限が必要です。
サーバー ロールの場合、サーバー ロールに対する CONTROL 権限、またはサーバーに対する ALTER ANY SERVER ROLE 権限が必要です。
使用例
A. ログインの IMPERSONATE 権限を取り消す
次の例では、SQL Server ログイン WanidaBenshoof の IMPERSONATE 権限を、Windows ユーザー AdvWorks\YoonM を基に作成された SQL Server ログインから取り消します。
USE master;
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];
GO
B. CASCADE を指定して VIEW DEFINITION 権限を取り消す
次の例では、SQL Server ログイン EricKurjan の VIEW DEFINITION 権限を、SQL Server ログイン RMeyyappan から取り消します。 ここでは CASCADE オプションを使用して、RMeyyappan がこの権限を許可したプリンシパルに対しても、EricKurjan の VIEW DEFINITION 権限を取り消すことを指定します。
USE master;
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan
CASCADE;
GO
C. サーバー ロールの VIEW DEFINITION 権限を取り消す
次の例では、Auditors サーバー ロールに対する Sales サーバー ロールの VIEW DEFINITION を取り消します。
USE master;
REVOKE VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
関連項目
参照
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT (サーバー プリンシパルの権限の許可) (Transact-SQL)
DENY (サーバー プリンシパルの権限の拒否) (Transact-SQL)
セキュリティ ストアド プロシージャ (Transact-SQL)