用户和角色

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

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

全局角色

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

角色管理

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

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

菜单访问控制

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

菜单访问控制

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:667-669),也可以传 token。token 本质是一段 JWT:payload 为 {"sub": 用户名},用配置项 JWT_PASSWORD 以 HS256 签名,并去掉固定 header 段以缩短长度(生成见 myapp/security.py:168-187,校验见 :661-685)。JWT_PASSWORD 默认配置为 myappinstall/kubernetes/cube/overlays/config/config.py:225);配置缺失时代码兜底取值为 cube-studiomyapp/security.py:183:681)。

项目组中角色

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

项目组角色

用户在项目组内的角色有 4 个:creator、ops、dev、auditor(审计),默认 dev(见 myapp/views/view_team.py:108)。不同角色在不同场景下权限不同。

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

其中 auditor 为审计角色,用于对项目组数据做只读审计。

管理员

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

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

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

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

个人权限

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

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

责任人机制

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

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

完全公开

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

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

独立的用户权限体系

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

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