ユーザーまたはロールから権限を取り消します。
構文
ユーザーの権限を取り消す
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;