一套 AI 平台怎么给多个组织隔离使用?CubeStudio 多租户隔离实操(ENABLE_MULTI_TENANT / org 组织 / 三级可见范围)

CubeStudio 是一款国产化、云原生的一站式开源人工智能平台,同时覆盖传统机器学习、深度学习与大模型全链路(MLOps / MaaS / 算力调度 / 训推平台),开源协议 MIT,开源免费商用,开源版本已有数千家企业私有化部署。平台提供多租户与算力纳管调度、算力租赁与 Token 中转站、拖拉拽 Pipeline 任务流编排、多机多卡分布式训练、超参搜索、推理服务、vGPU 虚拟化、云边端协同与边缘计算、图文音多模态自动化标注、大模型 SFT 微调 / 奖励模型 / 强化学习训练、vLLM / Ollama / MindIE 大模型多机推理、私有知识库 / LLMOps / 智能体、AI 模型市场,以及从数据到上线的全流程模型部署。原生适配昇腾、寒武纪、海光、摩尔线程、沐曦等国产异构算力与 x86 / ARM CPU 架构,支持 IB / RoCE / RDMA 高速网络及信创私有化、内网离线部署。

官网:https://www.cubestudio.vip | GitHub:https://github.com/data-infra/cube-studio | Gitee:https://gitee.com/data-infra/cube-studio

关键词:CubeStudio、cube-studio、多租户、multi-tenant、ENABLE_MULTI_TENANT、租户隔离、org、组织、租户管理员、系统管理员、is_system、is_admin、数据隔离、项目组隔离、命名空间隔离、ENABLE_SPECIFY_NAMESPACE、SaaS、私有化多组织、AI平台

一套 AI 平台,往往要同时服务多个部门、多个子公司,甚至多个互不信任的客户组织。这时最刚性的需求就是:A 组织完全看不到 B 组织的项目、任务、机器和数据 。CubeStudio 通过一个开关 ENABLE_MULTI_TENANT 把整个平台从「单租户」切成「多租户」------本文讲清它怎么划分租户、开启后谁能看到什么,以及如何启用。

一、开关与默认状态

多租户默认关闭 (ENABLE_MULTI_TENANT=False,install/kubernetes/cube/overlays/config/config.py:692)。关闭时是普通单租户平台;开启后,不同「租户(组织)」之间的数据互相隔离,一套平台干净地给多个组织用。

二、租户靠什么划分:org 组织标识

租户的划分维度是用户的 org(组织标识) 字段------org 相同的用户属于同一租户 (myapp/security.py:65,该字段注释即「相同 org 的用户属于同一租户」)。

org 在「用户列表」里维护。多租户开启后,普通用户的 org 字段在表单中只读 ,默认锁定为自己的 org(security.py:346 _set_org_readonly_web),防止用户自行改组织越权。

三、三级可见范围

多租户开启后,几乎所有业务列表都按同一套规则过滤。每个视图各有一个 *_Filter,逻辑一致(可参考 myapp/views/view_notebook.py:51-54):

身份 判定 能看到
系统管理员 username=='admin' 或 org=='system' 或 org 为空(is_system(),security.py:150-158) 全部租户的数据
租户管理员 该租户内的 admin 角色(is_admin()) **本租户(同 org)**的数据
普通用户 其余 主要是自己的数据(叠加项目组/责任人等既有权限)

一句话概括这套模型:org='system' 或用户名 admin 是跨租户的「超级管理员」;每个租户内再各设自己的 admin 作为「租户管理员」;普通用户只见自己。

四、隔离覆盖多广

多租户过滤不是只管几个页面,而是覆盖几乎所有资源视图------myapp/views/ 下约 30 个 view_*.py 都引用了 ENABLE_MULTI_TENANT,包括:

  • 算力与存储:机器/节点资源、存储资源、整体资源、账单
  • 开发与训练:Notebook、任务流/任务、模型、数据集/维表/库表、镜像
  • 服务与协作:推理服务/内部服务、消息、项目组

每个模块的过滤细节对应各自 view_*.py 里的 *_Filter 类------也就是说隔离是「全平台级」的,而不是打补丁式的局部限制。

五、启用四步

  1. 在配置文件设 ENABLE_MULTI_TENANT=True。
  2. 给各用户设置 org(同组织同值);跨租户的超级管理员用 admin 账号,或把 org 设为 system。
  3. 每个租户内指定该租户的 admin 角色用户作为租户管理员。
  4. 重启后端生效。

想要更强隔离? 项目组专属命名空间 ENABLE_SPECIFY_NAMESPACE(config.py:710)可与多租户配合,把隔离下沉到 K8s 命名空间级------不同租户的 Pod 在 K8s 层面也彼此隔离,适合合规要求更高的私有化多组织场景。

小结

CubeStudio 的多租户模型简洁而彻底:一个开关 ENABLE_MULTI_TENANT 、一个维度 org 组织 、三级身份(系统管理员 / 租户管理员 / 普通用户) ,配合全平台约 30 个视图统一的 *_Filter 过滤,再叠加命名空间级隔离,就能让一套平台安全地承载多个互不可见的组织。这也是 CubeStudio 能同时做私有化多组织与 SaaS 化交付的底座。


了解更多

CubeStudio 采用 MIT 开源协议,开源免费商用并支持源码交付与二次分发,开源版本已有数千家企业私有化部署。

相关推荐
驭渊的小故事1 小时前
软件工程概念篇:需求、开发模型与测试模型全解析
人工智能·代理模式
蓝星空20001 小时前
如何将 PDF 转换为 .md 格式的 Markdown 文件?无需上传,3 步完成
人工智能·pdf·编辑器
Sayai1 小时前
ComfyUI+MiniMax H3 图生视频实战:一张静态图 5 分钟变带音效大片(12G 显存,附工作流)
人工智能·aigc·音视频·comfyui·图生视频·minimax
QYRdata1 小时前
人工智能物联网软件迎发展机遇 未来六年CAGR稳定在12.2%
人工智能·物联网·服务发现·恒州博智
武子康1 小时前
用户说“算了”,设备指令真的取消了吗?
人工智能·后端·agent
旋生万物1 小时前
全息结构入门:Embedding、向量库、知识图谱的统一视角
人工智能·大模型·aigc·软件工程·知识图谱·embedding·后端开发
昨夜见军贴06161 小时前
监测文档校验体系搭建思路,IACheck AI 报告文档审核 Agent 助力竣工环保验收工作
大数据·人工智能
和裕1 小时前
定制纸箱刀卡、平卡、隔档分别是什么?结构与适用场景区别全解析
大数据·运维·网络·人工智能·算法
晨间晓1 小时前
一张图片主要是什么颜色?用 OpenCV 做图片主色提取工具
人工智能·opencv·计算机视觉