模块 8企业 Agent 平台

身份授权与多租户

先区分平台中的 Principal 与责任

  • 最终用户、审批者和租户管理员
  • 前端/Host 应用、Agent 服务和 Runtime 工作负载
  • Tool、MCP Server、远程 Agent 与受保护资源
  • 平台运维与 Break-glass 身份
  • 模型输出不是可信身份、授权决定或用户同意

每次行动都保留完整委托链

  • 入口从可信会话解析用户、租户、应用和用途
  • Agent Runtime 使用自身工作负载身份调用基础设施
  • 访问业务资源时显式携带 On-behalf-of 用户委托
  • Subagent 和远程 Agent 只获得子任务需要的衰减权限
  • 调用结果能追溯发起者、代表者、执行者和批准者

凭据生命周期与 Agent Run 生命周期分离

  • 短期 Token 绑定 issuer、audience、resource、scope 和主体
  • 跨服务使用 Token Exchange 或独立服务身份,不透明透传原 Token
  • 敏感动作按风险触发 Step-up 或重新授权
  • 长任务恢复时重新验证身份、权限和外部状态
  • 到期、撤销、轮换和主体离职能终止后续行动

租户上下文必须端到端不可丢

  • 入口从可信身份解析 tenant/user/app
  • 写入 Run、Trace、队列消息和存储主键
  • 调用模型、Tool、RAG 和 Artifact 时显式传递
  • 禁止从用户 Prompt 中读取租户身份

RBAC、ABAC 与 Capability 组合

RBAC

  • 角色表达组织职责与基础授权
  • 避免角色爆炸和跨租户复用

ABAC

  • 结合资源、地域、敏感度和时间
  • 策略输入必须来自可信属性源

Capability / Scope

  • 约束具体 Tool、动作和资源
  • 短期、可撤销并绑定代表身份

决策与执行分离

  • Policy Decision Point 返回稳定结果
  • 每个 Tool/数据入口由 Enforcement Point 落实

每个数据层都要选择隔离策略

  • 独立库/Schema/行级隔离的权衡
  • 向量索引分区与权限过滤不可后置
  • 缓存 Key、连接池和本地缓存携带租户
  • 日志、Trace、评测样本和导出的访问控制

运行资源防止邻居干扰

  • 队列、Worker 池和并发配额
  • 模型 Token/费用、Tool 调用和存储配额
  • Sandbox、网络和凭据按租户/Run 隔离
  • 关键租户优先级不能饿死普通租户

授权决定要贯穿异步、审批和恢复边界

  • Policy Decision 与执行动作绑定稳定资源和参数版本
  • 队列、重试和回调携带最小授权上下文而非完整凭据
  • 审批不会永久冻结权限,提交时再次检查当前授权
  • 权限拒绝、降级、例外和 Break-glass 都进入审计链

租户管理员需要可配置但受底线约束

  • 模型/Tool/Agent 准入
  • 数据保留、地域和内容政策
  • 预算、审批和自动化范围
  • 平台安全底线不可被租户关闭

系统化测试跨租户泄露

  • ID 枚举、缓存混淆和索引过滤缺失
  • 异步消息、重试和后台任务丢失租户上下文
  • Trace/错误/导出泄露
  • 并发资源耗尽与计费归属错误
  • 租户删除后的派生数据残留