跳转到内容

身份与租户绑定

多租户与 RBAC 若只信客户端头,任意调用方可自称管理员。Agent Forge 在配置身份映射或账号库命中后进入绑定态:租户、所有者与角色以服务端映射为准,忽略伪造头。

  • 环境:AGENTFORGE_IDENTITY_MAP(用户 → tenant / owner / role 等);AGENTFORGE_RBAC_MAP 可补 role
  • 可选服务密码:AGENTFORGE_SERVER_PASSWORD(HTTP Basic)
  • 请求头:X-AgentForge-Tenant-Id / Owner-Id / Model-Id / Role / Channel
flowchart TD
Auth[认证通过] --> Map{命中映射或账号?}
Map -->|是| Bound[bound:强制 tenant/owner/role]
Map -->|否| Soft[采信头或默认只读]
Bound --> Ctx[RequestContext]
Soft --> Ctx

绑定后客户端伪造的 tenant / owner / role 不生效。admin 可用租户头切换“查看租户”以便运维,不构成普通用户提权。有账号库但未命中映射时,可强制 readonly 且 bound,不采信角色头。

映射非空时默认严格:未知用户不能靠共享密码冒充任意身份;可用 AGENTFORGE_IDENTITY_STRICT 显式开关。

模型路由头 X-AgentForge-Model-Id 与租户隔离正交:解决“用哪套逻辑模型”,不替代租户数据边界。见多租户与 RLS。


相关阅读: