身份与租户绑定
多租户与 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。
相关阅读: