メインコンテンツへスキップ
ユーザーまたはロールから権限を取り消します。

構文

ユーザーの権限を取り消す
REVOKE [ON CLUSTER cluster_name] privilege[(column_name [,...])] [,...] ON {db.table|db.*|*.*|table|*} FROM {user | CURRENT_USER} [,...] | ALL | ALL EXCEPT {user | CURRENT_USER} [,...]
ユーザーからロールを取り消す
REVOKE [ON CLUSTER cluster_name] [ADMIN OPTION FOR] role [,...] FROM {user | role | CURRENT_USER} [,...] | ALL | ALL EXCEPT {user_name | role_name | CURRENT_USER} [,...]

説明

一部の権限を取り消すには、取り消したい権限よりも広いスコープの権限を使用できます。たとえば、ユーザーが SELECT (x,y) 権限を持っている場合、管理者はこの権限を取り消すために、REVOKE SELECT(x,y) ...REVOKE SELECT * ...、または REVOKE ALL PRIVILEGES ... クエリを実行できます。

権限の部分的な取り消し

権限の一部を取り消すことができます。たとえば、ユーザーが SELECT *.* 権限を持っている場合、その権限から、特定のテーブルまたはデータベースのデータを読み取る権限だけを取り消すことができます。

john ユーザーアカウントに、accounts を除くすべてのデータベースに対する SELECT 権限を付与します。
GRANT SELECT ON *.* TO john;
REVOKE SELECT ON accounts.* FROM john;
mira のユーザーアカウントに、accounts.staff テーブルの wage を除くすべてのカラムに対する SELECT 権限を付与します。
GRANT SELECT ON accounts.staff TO mira;
REVOKE SELECT(wage) ON accounts.staff FROM mira;
原文
最終更新日 2026年6月10日