02 · ACCESS CONTROLP012 MIN
Tenant、Organization 与 Workspace
为多组织 SaaS 定义清晰的客户边界、业务主体和协作空间。
MENTAL MODELMULTI-TENANT DOMAIN
01Tenant
→02Organization
→03Membership
→04Workspace / Resource
先把概念与边界说清楚
定义告诉你它是什么,边界告诉你它不负责什么;企业系统最常见的误解通常发生在两者混用时。
Tenant
SaaS 中共享基础设施的一位隔离客户,决定数据、配额、配置和计费边界。
Organization
真实业务组织,可拥有成员、客户、订单与上下级关系。
Workspace
组织内进一步划分项目、地区或团队协作的容器。
tenant_id
共享表方案中标记数据归属的关键字段,通常参与索引与唯一约束。
Manufacturer 与 Dealer 应如何建模
制造商希望看所有经销商订单,经销商只能看自己订单。
- 01
每个组织独立拥有数据。
- 02
用 OrganizationRelation 表表达 manufacturer—dealer 关系。
- 03
授权服务根据关系与资源类型计算 scope。
组织结构可变化,数据所有权与可见关系不再混为一谈。
马上动手
- 判断 Blind Bots 中 Tenant 与 Organization 是否需要分开。
- 画出用户同时加入两个 Dealer 的 Membership。
常见坑
- 把 tenant_id 从请求体直接信任
- 用户全局只允许一个 role
- 层级关系直接硬编码在 organization.parent_id
05 · KNOWLEDGE CHECK什么时候 Tenant 与 Organization 可以是同一实体?查看答案⌄
答案
客户、计费、隔离和业务主体一一对应且近期无多组织需求时可以合并,但命名与约束仍应明确。