多租户 SaaS

应用分组、域名授权、登录策略配置与登录日志,支撑多租户隔离与运营。

什么是多租户 SaaS 能力

UM 在统一身份后端之上,提供面向 B 端运营的多租户能力:把应用按分组(group)组织,对可访问的域名做白名单授权,按应用配置登录策略,并留存登录日志用于审计。

多租户是「运营/隔离」能力,与身份联邦(UMID)正交:UMID 解决"用户是谁",SaaS 能力解决"哪些应用/域名/策略/日志归在一起管"。

应用分组(group_key)

应用可归入同一 group_key(如 yunjii_products),用于:

  • 分组 SSOgroup_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.com192.168.1.10https://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_boundIP 绑定内部系统

登录日志与审计

UM 记录每次登录/授权事件,用于安全审计与异常排查,常见用途:

  • 识别异常登录 IP、设备与频次(配合限流错误 90002 登录失败过多)。
  • 审计 social_uid 绑定变更、跨应用账号合并轨迹。
  • 排查 token IP 不匹配50004)、token scope 不足50005)等策略类问题。

下一步