跳至主要内容
跳至主要内容

REVOKE 语句

撤销用户或角色的权限。

语法

撤销用户的权限

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 数据库除外

GRANT SELECT ON *.* TO john;
REVOKE SELECT ON accounts.* FROM john;

授予 mira 用户账户从 accounts.staff 表的所有列选择数据的权限,但 wage 列除外。

GRANT SELECT ON accounts.staff TO mira;
REVOKE SELECT(wage) ON accounts.staff FROM mira;

原文

    © . This site is unofficial and not affiliated with ClickHouse, Inc.