租户、成员、项目与角色设计逻辑
文档信息
版本:v1.0 更新日期:2026-07-13
一句话说明
AGIOne 的访问范围不是只由账号决定,而是由租户、成员、项目、角色和授权范围共同决定。
核心关系
text
租户
-> 定义业务主体和数据边界
成员
-> 表示账号在租户、团队或项目中的协作身份和状态
项目
-> 承载预算、成员协作、API Keys、调用用量和活动记录
角色
-> 定义账号或成员承担的职责和可见菜单
授权范围
-> 决定最终可见资源、数据记录和可执行操作简单理解:租户决定边界,成员决定协作关系,项目承载业务空间,角色决定职责,授权范围决定具体能看什么、能做什么。
核心对象
| 对象 | 新手理解 | 影响范围 | 用户手册参考 |
|---|---|---|---|
| 租户 | 平台中的业务主体或客户空间 | 数据边界、成员、角色、标签、业务归属和租户可见范围 | 租户 |
| 成员 | 账号加入某个租户、团队或项目后的协作身份 | 成员状态、团队协作、角色分配、项目可见性和操作权限 | 团队成员 |
| 项目 | 租户或服务商侧承载模型调用和协作的业务空间 | 项目预算、成员范围、API Keys、用量、活动、模型白名单和设置 | 项目 |
| 角色 | 一组职责和权限集合,例如运营方、模型提供方或普通用户 | 菜单、按钮、任务归属和允许执行的操作 | 角色对比总览 |
| 授权范围 | 向租户、成员、项目或账号开放的资源、记录和操作 | 可见地域、资源池、云账号、模型、模板、账务记录、License、审计日志和 API 流控规则 | 用户手册 |
访问范围如何生效
text
登录
-> 识别当前账号
-> 确认所属租户
-> 确认成员状态
-> 加载角色权限
-> 应用项目范围
-> 应用资源与数据授权
-> 展示允许访问的菜单、按钮和数据有菜单不代表能看到所有资源;能看到资源也不代表可以执行所有操作。文档中的菜单或对象不可见时,应先检查租户、成员、项目、角色和授权范围,再判断是否属于产品故障。
租户、成员、项目的边界
租户
- 租户是平台中的业务主体或客户边界。
- 一个租户可以包含多个成员、角色、标签、状态和业务身份。
- 跨租户访问必须显式治理,账号不能默认看到其他租户的资源或数据。
- 租户变更可能影响账务归属、项目可见性、成员权限、资源授权和审计范围。
成员
- 成员是账号加入租户、团队或项目后形成的协作身份。
- 成员状态会影响是否能登录、协作、查看项目或执行操作。
- 成员通常需要结合角色一起判断:同一个账号在不同租户或项目中可以承担不同职责。
- 成员变更可能影响项目协作、调用权限、额度申请、审计记录和团队设置。
项目
- 项目是租户或服务商侧承载业务调用的空间。
- 项目通常关联成员、预算、API Keys、模型白名单、调用用量、活动记录和设置。
- Project Key 的可用性不仅取决于 Key 状态,也取决于项目状态、预算、成员范围和模型白名单。
- 项目不可见时,先确认当前账号是否是项目成员,再检查租户、角色和项目状态。
默认角色模型
针对企业级部署,建议采用以下角色映射方案。
| 角色 | 描述 | 客户侧典型映射 |
|---|---|---|
| 运营者(Operator) | 平台管理员。负责配置计算资源池(Specs)、下载模型权重和容器镜像、定义推理参数模板(Templates)、设置提供者配额(Provider Quotas),以及监控平台级资源使用情况。 | 中央平台/基础设施运维团队。客户预期以单一 Operator 账号进行操作。 |
| 提供者(Provider) | 拥有计算资源访问权限(由运营者定义)。基于运营者定义的 Specs 上部署配置的模型:可通过模板一键部署。发布公共模型,可设置为对所有租户或仅对特定指定租户开放访问。 | 公共模型管理员;已发布的公共模型可供所有团队或指定团队使用。 |
| 终端用户(End-User) | 终端用户(租户管理员): 拥有计算资源访问权限(由运营者定义)。基于运营者定义的 Specs 上部署配置的模型:可通过模板一键部署。控制同一租户下哪些终端用户(成员)可以访问哪些已部署的私有模型。 | 银行内部团队(如业务部门或开发团队)。PoC 阶段将以一个终端用户(租户管理员)账号运行;在生产环境中,每个团队将拥有各自独立的终端用户(租户管理员)账号。 |
| 终端用户(End-User) | 终端用户(成员): API 消费者。终端用户可查看开放的模型,并使用 API 密钥调用对应的端点。平台支持默认租户密钥,以及个人密钥和项目密钥,并提供密钥管理能力,包括创建、限额配置、轮换和停用。 | 隶属于某一团队的个人员工/开发人员。 |
角色可见菜单可能随部署版本和平台配置变化,实际入口以当前环境为准。
角色与授权不是一回事
| 现象 | 先检查 | 再检查 |
|---|---|---|
| 菜单不可见 | 当前账号是否具有负责该任务的角色 | 当前部署是否向该角色开放菜单 |
| 地域、集群或资源池不可见 | 角色是否可以使用对应子系统 | 租户、业务地域或资源池是否已授权 |
| 模型市场中找不到模型 | 账号是否是普通用户或其他允许的使用方 | 模型审核状态、可见范围和访问权限 |
| 模型提供方无法发布 | 当前账号是否具有 provider 角色 | 模型来源、模板、标签和租户权限是否准备完成 |
| 项目不可见 | 当前账号是否是项目成员 | 项目状态、租户范围、成员范围和角色权限 |
| Project Key 不可用 | Key 是否启用,当前账号是否允许使用该项目 | 项目预算、模型白名单、项目状态和 Key 限额 |
| 看不到财务或 License 记录 | 账号是否具备账务、财务、提供方或用户侧所需角色 | 账期、租户、客户、账户、License 范围和同步状态 |
| 看不到设置或 API 流控入口 | 账号是否可执行设置或审计任务 | 租户范围、成员状态、角色菜单配置和规则可见范围 |
| 操作按钮不可见 | 当前角色是否负责该任务 | 按钮权限、资源状态和操作风险控制 |
推荐职责划分
| 参与方 | 推荐角色 | 职责边界 |
|---|---|---|
| 平台运营、财务、安全或基础设施团队 | operator | 准备资源,维护治理配置,审核内容,管理客户财务或 License,维护设置,监控平台运行 |
| 模型或技术团队 | provider | 发布和维护模型,提交审核,查看提供方侧调用与收益,维护授权范围内的团队、项目和 Key 设置 |
| 业务用户或应用开发者 | enduser | 体验和调用已授权模型,查看个人用量、项目、账务或设置 |
不应为了让缺失菜单出现,就直接分配宽泛的 operator 权限。应围绕任务所需的最小范围调整角色、项目范围或资源授权。
访问问题排查
- 确认当前子系统和目标任务。
- 确认当前登录账号和所属租户。
- 确认账号在目标租户、团队或项目中的成员状态。
- 确认当前角色是否负责该任务。
- 确认目标项目是否可见、启用,且当前账号属于项目成员。
- 确认目标地域、资源池、集群、云账号、模型、模板、账务记录、License、设置、审计日志或流控规则已完成授权。
- 确认运营方已准备相关前置资源。
- 入口仍然缺失时,提供脱敏后的页面路径、预期入口、账号角色、租户、项目、成员状态和发现时间,用于排查。
面向维护人员的实现说明
部分部署会区分平台治理租户与普通业务租户。成员、项目、角色菜单、账号角色、按钮和 API 权限映射可能存储在实现对象中,并由后端继续校验接口权限。这些名称属于实现细节,不应作为面向客户的主要解释,也不应视为稳定的公开接口。