OneAPI多租户权限分离隔离下游用户

为什么需要OneAPI多租户权限隔离

当团队或企业使用 OneAPI(一个统一管理多种 AI 模型 API 的网关)时,往往会有多个部门或外部用户同时接入。
如果不做租户隔离,一个用户就能调用所有已配置的模型,这不仅浪费额度,还存在数据泄露风险。
多租户权限分离的核心目的是:每个租户只能使用管理员允许的模型,无法越权访问其他租户的资源或未授权的 API

前置准备:确认OneAPI环境与基本概念

  1. 确保 OneAPI 已正常运行 – 你可以通过浏览器访问管理后台(默认端口 3000),使用超级管理员账号登录。如果还没安装,请先参考官方文档部署。
  2. 理解几个关键概念
  • 租户(User/Team):代表一个独立的使用单位,可以是一个部门、一个客户或一个子账号。
  • 令牌(Token):租户调用 API 时使用的密钥,不同令牌属于不同租户。
  • 模型分组(Model Group):将多个模型(如 GPT-4、Claude 3)组合成一个授权单位,方便分配给租户。
如果你是第一次接触 OneAPI,建议先在管理后台熟悉“用户管理”和“令牌管理”页面。

核心操作:创建租户、分配模型、生成令牌

步骤1:创建租户(子账号)

  • 登录管理后台,左侧导航点击 用户管理
  • 点击 添加用户,输入用户名、显示名称(例如“研发部”或“客户A”),设置密码。关键在于选择角色为“普通用户”,这样该账号无法查看其他租户信息。
  • 保存后,新用户即成为一个独立租户。

步骤2:配置模型分组(可选但推荐)

  • 进入 模型分组 页面,点击 添加分组
  • 输入分组名称(如“开发组模型”),在右侧勾选允许该分组使用的模型(如只勾选 GPT-3.5-turbo 和 Claude-2)。
  • 保存后,你可以在后续步骤中将这个分组直接分配给租户,避免每次单独勾选模型。

步骤3:为租户分配模型权限

  • 回到 用户管理,点击刚刚创建的用户进入编辑页。
  • 模型权限 区域,你可以直接勾选允许的模型,或者选择已创建的模型分组。注意:如果不做任何授权,该租户将无法调用任何模型
  • 保存用户配置。

步骤4:生成租户专属令牌

  • 仍在该用户编辑页面,切换到 令牌 标签。
  • 点击 添加令牌,设置令牌名称和过期时间(建议设置合理有效期,降低泄露风险)。
  • 创建后复制令牌字符串。这个令牌将用于下游用户发起 API 请求,它会自动携带该租户的权限范围。
小提示:你可以为同一个租户生成多个令牌,每个令牌权限相同,方便分发或轮换。

验证隔离效果:用不同令牌测试访问

  1. 使用超级管理员令牌调用任意模型,确认能成功。
  2. 使用租户 A 的令牌调用其被授权的模型(如 GPT-3.5-turbo),应该正常返回。
  3. 使用租户 A 的令牌调用未被授权的模型(如 Claude-2),OneAPI 应返回 403 无权限 或类似错误。
  4. 如果租户 B 的令牌只能调用自己的模型,且无法访问租户 A 的模型,说明权限隔离生效。

验证命令示例(使用 curl):

# 假设你的 OneAPI 地址是 http://localhost:3000
# 租户A的令牌,只能调用 GPT-3.5-turbo
curl http://localhost:3000/v1/chat/completions \
  -H "Authorization: Bearer sk-tenantA-token123" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Hello"}]}'

# 尝试调用未授权的模型,应返回403
curl http://localhost:3000/v1/chat/completions \
  -H "Authorization: Bearer sk-tenantA-token123" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-2", "messages": [{"role": "user", "content": "Hello"}]}'

避坑指南与常见问题

1. 令牌泄露怎么办?

立即在管理后台删除该令牌,并为该租户生成新令牌。
同时建议开启令牌到期自动轮换。

2. 为什么租户能调用所有模型?

检查是否在用户编辑页的“模型权限”里勾选了“所有模型”,或者该用户是管理员角色。
确保角色为“普通用户”且未勾选全局权限。

3. 模型分组和直接勾选模型冲突吗?

不冲突。
如果同时设置了分组和单个勾选,最终权限是两者的并集
为了清晰,建议统一使用分组管理。

4. 下游用户拿到令牌后,能通过API查看其他租户信息吗?

不能。
普通用户令牌只能调用模型接口,无法访问管理后台或用户列表。
OneAPI 天然隔离了管理 API 和模型 API。

总结

通过以上步骤,你已能在 OneAPI 中实现多租户权限分离,将下游用户严格隔离在各自的模型范围内。
核心操作就是:创建普通用户 → 分配模型权限 → 生成专属令牌 → 分发给下游用户。
验证时务必用不同令牌测试越权场景,确保隔离生效。
如果你在配置过程中遇到其他异常,可以查看 OneAPI 官方文档或社区讨论。

分享到:
上一篇
家用住宅服务器FRP隧道暴露AI中转接口
下一篇
AI中转站被恶意刷量GPU满载解决办法
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意