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
是(回收角色时)要回收的角色名称

使用示例

  1. 回收用户

    tester
    tester
    的角色
    test_readonly_role
    test_readonly_role

    REVOKE ROLE test_readonly_role FROM USER tester;

  2. 回收用户

    tester
    tester
    查询表
    semantic_model_test.dim_customer
    semantic_model_test.dim_customer
    的权限:

    REVOKE SELECT ON TABLE semantic_model_test.dim_customer FROM USER tester;

  3. 回收用户

    tester
    tester
    在 Schema
    semantic_model_test
    semantic_model_test
    下创建表的权限:

    REVOKE CREATE TABLE ON SCHEMA semantic_model_test FROM USER tester;

  4. 回收用户

    tester
    tester
    在工作空间下创建 VCluster 的权限:

    REVOKE CREATE VCLUSTER ON WORKSPACE quick_start FROM USER tester;

  5. 回收角色

    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;

以上命令执行成功后返回空结果集,无错误信息即表示回收成功。

注意事项

  • 执行此命令需要具备
    workspace_admin
    workspace_admin
    security_admin
    security_admin
    角色。
  • 回收一个用户不拥有的权限时,命令不会报错,静默成功返回空结果集。
  • 回收角色(
    REVOKE ROLE
    REVOKE ROLE
    )只移除用户与该角色的关联,不影响角色本身及其他用户对该角色的持有。
  • 使用
    GRANT OPTION FOR
    GRANT OPTION FOR
    可以仅回收用户的转授能力,而不影响其对该资源的访问权限本身。
  • 通过角色间接获得的权限无法通过
    REVOKE
    REVOKE
    直接回收,需先回收角色(
    REVOKE ROLE
    REVOKE ROLE
    )。
  • 可通过
    SHOW GRANTS TO USER user_name
    SHOW GRANTS TO USER user_name
    验证回收结果。
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询