REVOKE FROM USER
功能概述
回收指定用户或角色已被授予的权限,支持回收对象权限和角色授权。
语法
回收用户的对象权限
REVOKE [GRANT OPTION FOR]
workspacePrivileges ON WORKSPACE workspace_name
| workspaceObjectPrivileges ON { ROLE | SCHEMA | VCLUSTER | FUNCTION } workspace_object_name
| schemaPrivileges ON SCHEMA schema_name
| schemaObjectPrivileges ON { TABLE | VIEW | MATERIALIZED VIEW } schema_object_name
FROM USER user_name;
回收用户的角色
REVOKE ROLE role_name FROM USER user_name;
权限类型说明
-- 工作空间级别:创建对象
workspacePrivileges ::=
CREATE { SCHEMA | VCLUSTER }
-- 工作空间下对象权限
workspaceObjectPrivileges ::=
-- SCHEMA、FUNCTION
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 } | ALL
-- Schema 下对象权限
schemaObjectPrivileges ::=
-- TABLE
ALTER | DROP | SELECT | INSERT | READ METADATA | ALL
-- VIEW / MATERIALIZED VIEW
ALTER | DROP | SELECT | ALL
参数说明
| 参数 | 必填 | 说明 |
|---|
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 |
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;
以上命令执行成功后返回空结果集,无错误信息即表示回收成功。
注意事项