用户和角色

想了解全局角色(admin/gamma)、项目组内角色(creator/ops/dev)、菜单访问控制、API 调用如何带 token 认证时读这篇

平台使用 / 入门与权限
用户角色权限RBACrolepermissionadmingammacreatoropsdevauditor项目组角色API tokenAuthorization认证

全局角色

CubeStudio 基于 Flask-AppBuilder 框架,自带了 RBAC 角色管理。不过目前此部分的角色主要为 gamma 角色(普通使用者)和 admin 角色。

角色管理

  • admin 角色可以全局资源都可查看
  • gamma 角色为普通使用者角色

说明:新注册用户默认分配的角色由配置项 AUTH_USER_REGISTRATION_ROLE 决定,平台默认值为 Gamma(见 myapp/config.py:94)。

菜单访问控制

编辑角色,可为角色添加控制对应菜单的访问权限。再将角色分配给不同的用户,以此来实现不同用户看到不同的菜单。

菜单访问控制

api 调用认证

CubeStudio 所有的后端接口访问都需要用户身份认证,api 调用时需要在添加 header。

所有 api 操作 header:

    headers = {
      'Content-Type': 'application/json',
      'Authorization': '$token'
    }

其中 token 的获取在个人详情页面。

获取 token

实现说明(与代码核对):Authorization 既可以传短用户名(仅在 AUTH_PLATFORM_ACCESS 开启或经 K8s 内部域名 kubeflow-dashboard.infra 访问时放行,见 myapp/security.py:655-657),也可以传 token。token 本质是一段 JWT:payload 为 {"sub": 用户名},用配置项 JWT_PASSWORD 以 HS256 签名,并去掉固定 header 段以缩短长度(见 myapp/security.py:155-175 生成、myapp/security.py:649-676 校验)。JWT_PASSWORD 在默认配置里为 myapp(见 myapp/config.py:241);代码在该配置缺失时的兜底取值才是 cube-studio(见 myapp/security.py:171:669),实际部署以 config.py 的取值为准。

项目组中角色

其他对数据的权限,都是基于项目组或者个人的。

项目组角色

用户在项目组内的角色主要包含 3 个:creator、ops、dev,在不同场景下,不同角色的权限是不一样的。

  • 项目组场景下,creator 角色用户可以添加其他用户进入项目组
  • 在线开发 / 任务 ETL,同项目组中均可见
  • 模型训练 / 任务流,同项目组中均可见
  • 模型训练 / 超参搜索,同项目组中均可见
  • 服务化 / 内部服务,同项目组中均可见
  • 服务化 / 推理服务,同项目组中均可见,项目组 creator 可以部署,其他同项目组仅可查看

补充(与代码核对):项目组成员角色可选值在代码中为 ['dev', 'ops', 'creator', 'auditor'](见 myapp/views/view_team.py:108),默认 dev。即除上述 3 个角色外,较新版本还提供 auditor(审计)角色。 ⚠️ 待核实:auditor 角色在代码其余位置未见明确的权限分支逻辑,其具体可见范围请以实际部署版本为准。

管理员

在有些功能地方,只允许管理员查看,管理员包括两类:

  • 一类是在界面上,项目空间 / 用户列表中,为用户添加了 admin 角色的,可以全局数据都可以看到,但是该类用户不是运维人员,只是平台的 boss
  • 一类是在配置文件 config.py 中定义的 ADMIN_USER,该变量定义的是平台的运维人员,用于接收系统级别的报警(默认值 ADMIN_USER='admin',见 myapp/config.py:764

目前仅管理员能看到的包括:

  • 项目空间 / 资源配置
  • 项目空间 / 安全设置
  • 项目空间 / 链接
  • 私有知识库

个人权限

在有些功能地方,每个用户只允许看到自己的数据。比如:

  • 在线开发 / 镜像仓库
  • 在线开发 / 镜像构建
  • 在线开发 / 镜像管理
  • 在线开发 / notebook
  • 模型训练 / 任务模板
  • 模型训练 / 定时调度
  • 模型训练 / 运行实例
  • 服务化 / 模型管理

责任人机制

部分场景下为每个数据都配置专门的责任人,只有有权限的责任人可以看到数据,例如:

  • 数据资产 / 指标
  • 数据资产 / 维表
  • 数据资产 / 数据集
  • 数据智能,只能看到自己是责任人,或者公开的私有知识库

完全公开

有些部分的数据是完全开放给所有人的,比如:

  • 数据资产 / 库表
  • 服务化 / 整体资源
  • aihub 模型市场

独立的用户权限体系

有些场景下不是用自带的账户体系,而是现场创建账户体系,主要存在于与外部人事相关的平台部分。比如:

  • 标注平台
最后更新 2026-07-04完整文档以官方仓库为准:GitHub Wiki