# 企业权限模型与服务分工
企业 SaaS 需要分别回答三个问题:租户开通哪些能力、员工获得哪些功能权限、一次请求可以操作哪些数据。G2rain 用应用授权、角色与资源关系组织这些边界。
# 从租户开通到资源访问
| 对象 | 作用 |
|---|---|
| 组织 / 租户(Organ) | 标识机构与业务数据归属 |
| 应用(Application) | 承载功能和资源,具有独立接入身份 |
| 应用授权(ApplicationAuthorization) | 记录机构开通的应用、控制域和激活状态 |
| 控制域(ControlDomain) | 按业务目的组合控制单元 |
| 控制单元(ControlUnit) | 组织功能权限,并声明适用会话类型 |
| 角色(Role) | 向组织内用户分配岗位所需控制单元 |
| 资源 | 菜单、页面、按钮和 API;交互展示与服务端校验各有职责 |
例如,可以把“知识审核”组织为控制单元,关联审核页面、按钮与接口。机构需要开通对应能力,员工岗位需要获得相应授权,请求还需要通过入口校验与知识数据归属校验。该例用于说明配置方式,具体配置以部署环境为准。
角色与控制单元的授权关联保留应用授权来源与激活状态。控制域、控制单元和资源之间存在关联,不表示建立关联后自动授予全部权限。
# 一次请求由谁校验
| 环节 | 责任 |
|---|---|
| Basis | 维护组织、用户、应用、角色、控制域、控制单元和资源等权限事实 |
| IAM | 身份认证、授权事务与 Token 生命周期;登录策略与业务能力开通分别管理 |
| Shell / App | 呈现会话、菜单、页面和按钮等交互入口 |
| Gateway | 校验凭据、签名及 API 权限,按主体类型消费权限事实 |
| 领域服务 | 继续核对租户、业务对象、状态与数据授权 |
页面上能看到按钮不代表任意请求都会被接受;通过网关也不代表可以操作整个租户的全部数据。
# 员工与会员采用不同权限路径
员工 USER 使用组织内用户和角色授权链。会员 MEMBER 的入口 API 权限按租户已开通的会员控制单元计算,不要求把会员加入员工角色。Passport、员工与会员的权限集合需要分别判断。
# 权限与 Agent 编排如何结合
权限模型确定“谁以什么组织身份可以使用哪些能力”,Agent 编排组织知识和业务步骤。Agent / Skill 绑定与员工角色、租户应用授权是不同关系;每次工具调用仍需验证调用身份、租户上下文、接口权限与业务对象归属。
组织主仓库的权限说明于 2026-10-19 核对了 Basis、IAM 与 WebFlux Gateway 的文档及实现,未运行跨服务测试;不同项目文档仍存在采用状态差异。本文据此解释模型,不据模型推定所有部署环境已经贯通授权。