GRANT TO USER
功能概述
将指定权限授予某个用户或角色,实现对工作空间资源的细粒度访问控制。
语法
授予对象权限给用户
GRANT
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
TO USER user_name [WITH GRANT OPTION];
授予角色给用户
GRANT ROLE role_name TO 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
参数说明
| 参数 | 必填 | 说明 |
|---|
workspace_name
workspace_name | 是(授予工作空间权限时) | 工作空间名称 |
workspace_object_name
workspace_object_name | 是(授予工作空间对象权限时) | 工作空间下对象名称(Schema、VCluster、Function 等) |
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 | 是(授予角色时) | 角色名称,支持自定义角色和系统预置角色 |
WITH GRANT OPTION
WITH GRANT OPTION | 否 | 允许被授权用户将该权限再转授给其他用户 |
使用示例
-
授予用户
tester
tester
角色 test_readonly_role
test_readonly_role
:
GRANT ROLE test_readonly_role TO USER tester;
-
授予用户
tester
tester
查询表 semantic_model_test.dim_customer
semantic_model_test.dim_customer
的权限:
GRANT SELECT ON TABLE semantic_model_test.dim_customer TO USER tester;
-
授予用户
tester
tester
在 Schema semantic_model_test
semantic_model_test
下创建表的权限:
GRANT CREATE TABLE ON SCHEMA semantic_model_test TO USER tester;
-
授予用户
tester
tester
在工作空间下创建 VCluster 的权限:
GRANT CREATE VCLUSTER ON WORKSPACE quick_start TO USER tester;
-
授予角色
test_developer_role
test_developer_role
在 Schema semantic_model_test
semantic_model_test
下创建视图的权限:
GRANT CREATE VIEW ON SCHEMA semantic_model_test TO ROLE test_developer_role;
-
授予用户
tester
tester
修改 VCluster default
default
的权限,并允许其转授:
GRANT ALTER VCLUSTER ON VCLUSTER DEFAULT TO USER tester WITH GRANT OPTION;
以上命令执行成功后返回空结果集,无错误信息即表示授权成功。
注意事项