CREATE ROLE

本文介绍如何创建自定义角色。

Workspace 角色管理

语法

CREATE [OR REPLACE] ROLE [IF NOT EXISTS] role_name [COMMENT ''];

参数说明

参数必填说明
OR REPLACE
OR REPLACE
如果同名角色已存在,则替换该角色。不可与
IF NOT EXISTS
IF NOT EXISTS
同时使用
IF NOT EXISTS
IF NOT EXISTS
如果指定角色不存在则创建;如果已存在则不报错,也不创建新角色。不可与
OR REPLACE
OR REPLACE
同时使用
role_name
role_name
新角色的名称。在工作空间内唯一,不能与系统预置角色名称相同
COMMENT
COMMENT
为角色添加注释说明

使用示例

  1. 创建角色

    simple_role
    simple_role

    CREATE ROLE simple_role;

  2. 创建角色并添加注释:

    CREATE ROLE admin_role COMMENT '拥有高级权限的角色';

  3. 使用

    IF NOT EXISTS
    IF NOT EXISTS
    ,避免角色已存在时报错:

    CREATE ROLE IF NOT EXISTS test_temp_role;

  4. 使用

    OR REPLACE
    OR REPLACE
    ,替换已存在的同名角色:

    CREATE OR REPLACE ROLE existing_role;

创建后可通过

SHOW ROLES
SHOW ROLES
验证:

SHOW ROLES;

返回示例(包含新创建的角色):

namecomment
test_developer_role测试角色
test_readonly_roleRead-only role for testing
test_temp_role
workspace_admin系统预置角色,拥有工作空间内任务、环境和所有数据对象的管理权限,并拥有管理空间内成员和角色的权限。
workspace_dev系统预置角色,拥有空间内任务目录的管理权限、任务脚本的编辑权限及空间内所有数据对象的读和写权限。

注意事项

  • 执行此命令需要具备
    workspace_admin
    workspace_admin
    角色。
  • 角色创建后无任何权限,需通过
    GRANT
    GRANT
    语句为角色授予权限。
  • 可通过
    GRANT ROLE role_name TO USER user_name
    GRANT ROLE role_name TO USER user_name
    将角色分配给用户。
  • 系统预置角色(如
    workspace_admin
    workspace_admin
    workspace_dev
    workspace_dev
    等)不可删除,也不可通过
    OR REPLACE
    OR REPLACE
    替换。

Instance Role 管理

LakeHouse 支持在实例粒度(Instance-Level)创建角色,实现跨工作空间的统一权限管控,满足多团队协作场景下的精细化访问控制。执行此操作需要

INSTANCE_ADMIN
INSTANCE_ADMIN
权限。

语法说明

-- 创建 Instance Role(若不存在) CREATE INSTANCE ROLE IF NOT EXISTS <role_name>; -- 删除 Instance Role(如果存在) DROP INSTANCE ROLE IF EXISTS <role_name>; -- 查看所有 Instance Role SHOW INSTANCE ROLES;

示例

DROP INSTANCE ROLE IF EXISTS inst_role; CREATE INSTANCE ROLE IF NOT EXISTS inst_role; SHOW INSTANCE ROLES;

联系我们
预约咨询
微信咨询
电话咨询