描述
REVOKE 命令用于:
- 撤销某用户或某角色的指定权限。
- 撤销先前授予某用户的指定角色。
语法
REVOKE privilege_list ON priv_level FROM user_identity [ROLE role_name]
REVOKE privilege_list ON RESOURCE resource_name FROM user_identity [ROLE role_name]
REVOKE privilege_list ON WORKLOAD GROUP workload_group_name FROM user_identity [ROLE role_name]
REVOKE privilege_list ON COMPUTE GROUP compute_group_name FROM user_identity [ROLE role_name]
REVOKE privilege_list ON STORAGE VAULT storage_vault_name FROM user_identity [ROLE role_name]
REVOKE role_list FROM user_identity
参数
privilege_list
需要撤销的权限列表,以逗号分隔。支持的权限包括:
- NODE_PRIV:集群节点操作权限
- ADMIN_PRIV:管理员权限
- GRANT_PRIV:授权权限
- SELECT_PRIV:查询权限
- LOAD_PRIV:数据导入权限
- ALTER_PRIV:修改权限
- CREATE_PRIV:创建权限
- DROP_PRIV:删除权限
- USAGE_PRIV:使用权限
- SHOW_VIEW_PRIV:查看视图定义权限
priv_level
指定权限的作用范围。支持以下格式:
- ..*:所有 catalog、数据库和表
- catalog_name..:指定 catalog 中的所有数据库和表
- catalog_name.db.*:指定数据库中的所有表
- catalog_name.db.tbl:指定数据库中的特定表
resource_name
指定 resource 名称。支持 % (匹配任意字符串)和 _(匹配任意单个字符)通配符。
workload_group_name
指定 workload group 名称。支持 % (匹配任意字符串)和 _(匹配任意单个字符)通配符。
compute_group_name
指定 compute group 名称。支持 % (匹配任意字符串)和 _(匹配任意单个字符)通配符。
storage_vault_name
指定 storage vault 名称。支持 % (匹配任意字符串)和 _(匹配任意单个字符)通配符。
user_identity
指定要撤销权限的用户。必须是使用 CREATE USER 创建的用户。user_identity 中的 host 可以是域名,如果是域名,权限的撤销时间可能会有 1 分钟左右的延迟。
role_name
指定要撤销权限的角色。该角色必须存在。
role_list
需要撤销的角色列表,以逗号分隔。指定的所有角色必须存在。
示例
-
撤销用户在特定数据库上的 SELECT 权限:
REVOKE SELECT_PRIV ON db1.* FROM 'jack'@'192.%';
-
撤销用户对资源的使用权限:
REVOKE USAGE_PRIV ON RESOURCE 'spark_resource' FROM 'jack'@'192.%';
-
撤销用户的角色:
REVOKE 'role1','role2' FROM 'jack'@'192.%';
-
撤销用户对 workload group 的使用权限:
REVOKE USAGE_PRIV ON WORKLOAD GROUP 'g1' FROM 'jack'@'%';
-
撤销用户对所有 workload group 的使用权限:
REVOKE USAGE_PRIV ON WORKLOAD GROUP '%' FROM 'jack'@'%';
-
撤销角色对 workload group 的使用权限:
REVOKE USAGE_PRIV ON WORKLOAD GROUP 'g1' FROM ROLE 'test_role';
-
撤销用户对 compute group 的使用权限:
REVOKE USAGE_PRIV ON COMPUTE GROUP 'group1' FROM 'jack'@'%';
-
撤销角色对 compute group 的使用权限:
REVOKE USAGE_PRIV ON COMPUTE GROUP 'group1' FROM ROLE 'my_role';
-
撤销用户对 storage vault 的使用权限:
REVOKE USAGE_PRIV ON STORAGE VAULT 'vault1' FROM 'jack'@'%';
-
撤销角色对 storage vault 的使用权限:
REVOKE USAGE_PRIV ON STORAGE VAULT 'vault1' FROM ROLE 'my_role';
- 撤销用户对所有 storage vault 的使用权限:
REVOKE USAGE_PRIV ON STORAGE VAULT '%' FROM 'jack'@'%';
相关命令
- GRANT
- SHOW GRANTS
- CREATE ROLE
- CREATE WORKLOAD GROUP
- CREATE COMPUTE GROUP
- CREATE RESOURCE
- CREATE STORAGE VAULT
Keywords
REVOKE, WORKLOAD GROUP, COMPUTE GROUP, RESOURCE