REVOKE FROM USER
功能概述
回收指定用户或角色已被授予的权限,支持回收对象权限和角色授权。
语法
回收用户的对象权限
REVOKE [GRANT OPTION FOR]
workspacePrivileges ON WORKSPACE workspace_name
| workspaceObjectPrivileges ON { ROLE | SCHEMA | VCLUSTER } workspace_object_name
| schemaPrivileges ON SCHEMA schema_name
| schemaObjectPrivileges ON { TABLE | VIEW | MATERIALIZED VIEW } schema_object_name
| functionPrivileges ON FUNCTION schema_object_name
| volumePrivileges ON VOLUME schema_object_name
FROM USER user_name;
回收用户的角色
REVOKE ROLE role_name FROM USER user_name;
权限类型说明
-- 工作空间级别:创建对象
workspacePrivileges ::=
CREATE { SCHEMA | VCLUSTER }
-- 工作空间下对象权限
workspaceObjectPrivileges ::=
-- ROLE、SCHEMA
ALTER | DROP | READ METADATA | ALL [PRIVILEGES]
-- VCLUSTER
ALTER | DROP | USE | READ METADATA | ALL [PRIVILEGES]
-- JOB
ALTER | CANCEL | READ METADATA | ALL [PRIVILEGES]
-- Schema 级别:创建对象
schemaPrivileges ::=
CREATE { TABLE | VIEW | MATERIALIZED VIEW | FUNCTION | VOLUME } | ALL
-- Schema 下对象权限
schemaObjectPrivileges ::=
-- TABLE
ALTER | DROP | SELECT | INSERT | READ METADATA | ALL
-- VIEW / MATERIALIZED VIEW
ALTER | DROP | SELECT | ALL
-- Function 对象权限
functionPrivileges ::=
ALTER FUNCTION | DROP FUNCTION | USE FUNCTION | READ METADATA | ALL [PRIVILEGES]
-- Volume 对象权限
volumePrivileges ::=
ALTER VOLUME | DROP VOLUME | READ VOLUME | WRITE VOLUME | READ METADATA | ALL [PRIVILEGES]
Function 和 Volume 都是 Schema 子对象。创建权限从父 Schema 回收,其余权限从具体对象回收。
参数说明
| 参数 | 必填 | 说明 |
|---|
GRANT OPTION FOR
GRANT OPTION FOR | 否 | 仅回收转授权限(WITH GRANT OPTION
WITH GRANT OPTION ),保留原有权限本身 |
workspace_name
workspace_name | 是(回收工作空间权限时) | 工作空间名称 |
workspace_object_name
workspace_object_name | 是(回收工作空间对象权限时) | 工作空间下对象名称 |
schema_name
schema_name | 是(回收 Schema 权限时) | Schema 名称 |
schema_object_name
schema_object_name | 是(回收 Schema 对象权限时) | 对象完整名称,格式为 schema_name.object_name
schema_name.object_name |
functionPrivileges
functionPrivileges | 是(回收 Function 权限时) | Function 对象权限,例如 USE FUNCTION
USE FUNCTION 、DROP FUNCTION
DROP FUNCTION |
volumePrivileges
volumePrivileges | 是(回收 Volume 权限时) | Volume 对象权限,例如 READ VOLUME
READ VOLUME 、DROP VOLUME
DROP VOLUME |
user_name
user_name | 是 | 被回收权限的用户名称 |
role_name
role_name | 是(回收角色时) | 要回收的角色名称 |
使用示例
-
回收用户
tester
tester
的角色 test_readonly_role
test_readonly_role
:
REVOKE ROLE test_readonly_role FROM USER tester;
-
回收用户
tester
tester
查询表 semantic_model_test.dim_customer
semantic_model_test.dim_customer
的权限:
REVOKE SELECT ON TABLE semantic_model_test.dim_customer FROM USER tester;
-
回收用户
tester
tester
在 Schema semantic_model_test
semantic_model_test
下创建表的权限:
REVOKE CREATE TABLE ON SCHEMA semantic_model_test FROM USER tester;
-
回收用户
tester
tester
在工作空间下创建 VCluster 的权限:
REVOKE CREATE VCLUSTER ON WORKSPACE quick_start FROM USER tester;
-
回收角色
test_developer_role
test_developer_role
在 Schema semantic_model_test
semantic_model_test
下创建视图的权限:
REVOKE CREATE VIEW ON SCHEMA semantic_model_test FROM ROLE test_developer_role;
-
回收用户
tester
tester
对 Function 和 Volume 的权限:
REVOKE USE FUNCTION ON FUNCTION semantic_model_test.image_to_text FROM USER tester;
REVOKE READ VOLUME ON VOLUME semantic_model_test.shared_files FROM USER tester;
以上命令执行成功后返回空结果集,无错误信息即表示回收成功。
注意事项