多租户 SaaS
应用分组、域名授权、登录策略配置与登录日志,支撑多租户隔离与运营。
什么是多租户 SaaS 能力
UM 在统一身份后端之上,提供面向 B 端运营的多租户能力:把应用按分组(group)组织,对可访问的域名做白名单授权,按应用配置登录策略,并留存登录日志用于审计。
多租户是「运营/隔离」能力,与身份联邦(UMID)正交:UMID 解决"用户是谁",SaaS 能力解决"哪些应用/域名/策略/日志归在一起管"。
应用分组(group_key)
应用可归入同一 group_key(如 yunjii_products),用于:
- 分组 SSO(
group_sso策略):同组应用共享登录态,用户一次登录即可在组内互通。 - 批量授权:按组维度统一配置域名、策略与权限,避免逐应用重复设置。
{
"login_policy": "group_sso",
"policy_config": {
"group_key": "yunjii_products",
"max_devices": 3,
"ip_whitelist": []
}
}
域名授权
每个应用的 um_apps.domains 字段(JSON 数组)记录允许发起授权/回调的域名。未在该白名单内的域名发起 OAuth 流程会被拒绝(错误码 10006 域名未授权)。
- 支持格式:域名、IP、带端口(如
https://app.example.com、192.168.1.10、https://app:8080)。 - 后台采用标签式输入交互,也可直接 SQL 更新:
-- 补充授权域名(domains 为 JSON 数组,按需修改)
UPDATE um_apps SET domains = JSON_ARRAY_APPEND(domains, '$', 'app.example.com') WHERE appid = 1000;
旧版的独立表 um_appdomain 已废弃,域名信息统一收口到 um_apps.domains。
登录策略配置
在控制台应用详情页配置 login_policy,可选 6 种策略(详见 RBAC 权限):
| 策略 | 说明 | 适用场景 |
|---|---|---|
independent | 独立登录 | 单应用 |
group_sso | 分组 SSO | 产品线内 |
global_sso | 全局 SSO | 集团级 |
single_device | 单设备登录 | 安全要求高 |
multi_device | 多设备登录 | 消费级应用 |
ip_bound | IP 绑定 | 内部系统 |
登录日志与审计
UM 记录每次登录/授权事件,用于安全审计与异常排查,常见用途:
- 识别异常登录 IP、设备与频次(配合限流错误
90002登录失败过多)。 - 审计
social_uid绑定变更、跨应用账号合并轨迹。 - 排查
token IP 不匹配(50004)、token scope 不足(50005)等策略类问题。
下一步
- RBAC 权限 — 6 种登录策略与权限注册表
- UMID 联邦身份 — 一个身份贯穿所有平台
- OAuth API 参考 — 端点与错误码完整说明