Skip to content

什么是 Agent Identity

Agent Identity(Agent 身份)是为 AI Agent 这类新行动者建立的身份体系:让每个 Agent 可识别、可授权、可追责、可吊销。

这一页要讲清楚的是另一件事:为什么"把现有身份体系凑合着用"行不通。

三个被打破的假设

传统身份体系里的每一块积木——账号、角色、scope、API key——都建立在三条从来不用明说的假设上:

  1. 行为确定。 行动者沿固定代码路径运行:昨天调用什么接口,今天还调用什么接口。
  2. 权限固定。 权限在设计时配好,一次配置、长期有效。
  3. 动作可预知。 每一个可能的调用都写在代码里,上线前就能被审计穷尽。

AI Agent 在运行时推理。它根据用户的一句话动态决定调用哪个工具、读哪份数据、走哪条路径——同一个报表 Agent,今天只查 CRM 摘要,明天用户换个问法,它就可能尝试导出全量客户名单。三条假设同时失效:行为不再确定,权限无法预配,动作无法穷举。

这不是"把权限配严一点"就能解决的程度问题,而是身份模型的类型问题:你无法在设计时枚举 Agent 的行为,只能在运行时约束它的权限。 约束权限,先要有身份——一个为"运行时推理的行动者"建的身份。

Agent 不是用户,也不是服务账号

面对新行动者,多数团队的第一反应是套旧模型。两个方向都有人试过,两个方向都会翻车。

当用户对待——把人的凭证交给它。 三个问题立刻出现:

  • 权限过宽。 人的凭证代表"这个人能做的一切",而 Agent 只该做眼下这一件事。
  • 收不回来。 凭证一旦共享,撤销只剩"全量重置"一条路,代价是打断本人的一切在用会话。
  • 审计失真。 日志里全是"张三做了",分不清哪次是本人、哪次是 Agent。出了事,第一个说不清的就是张三自己。

当服务账号(Service Account)对待——发一把长期 API key。 另外三个问题接踵而至:

  • 静态。 key 一发数月不动,而 Agent 的任务边界按分钟变化。
  • 无归属。 key 不知道自己此刻代表谁在行动;等出事要追责时,建 key 的人往往已经离职。
  • 无法按需收窄。 服务账号的权限是并集——为覆盖所有可能的任务而配得很宽;Agent 需要的恰恰相反:每次任务的最小切片。

结论只有一个:Agent 需要第三种身份——一等注册、有责任人、权限来自人的显式委托(delegation)、默认短时、可分层收权。

三种身份,一张表看差异

维度人类账号服务账号Agent 身份
凭证寿命会话级:登录到登出,MFA 保护长期静态:一把 key 用数月甚至数年任务级:分钟到小时,到期自动作废
权限粒度本人的全量角色权限预配置的固定 scope,为覆盖所有任务取并集每次委托的最小切片,永远不大于委托人本人的权限
责任归属本人常常无人认领——建 key 的人已离职注册即绑定责任人;每次行动都能追到委托它的那个人
撤销方式禁用账号、改密码轮换 key,所有依赖方跟着改短时令牌到期自动作废;停用密钥即时掐断继续签发(每个 Agent 用专属密钥即互不牵连)。已发出的令牌以有效期为准,详见 吊销
行为模式人类判断,可当面追问确定性代码路径运行时推理、动态决策——只能靠权限边界约束,无法靠代码审查穷尽

五条设计原则

一个合格的 Agent 身份体系要同时满足五条原则。前三条是身份领域的老原则,在 Agent 场景下必须重新兑现;后两条是 Agent 时代新增的。

  1. 最小权限(Least Privilege) —— Agent 的每个动作都要显式授权;scope 按当前任务收窄,而不是按"将来可能用到"放宽。
  2. 可溯源(Auditability) —— 每条审计记录都能回答三问:谁授权、授权给谁、做了什么。令牌里同时写明委托人与实际执行者,两个主体一个都不能少。
  3. 可撤销(Revocability) —— 凭证默认短时,到期自动作废;任何时刻都能停止继续签发,并在资源侧有拦截手段。有效期给多长,就是你的风险窗口有多大——分层手段与各自时效见吊销与应急处置
  4. 可解释(Explainability)——Agent 时代新增 —— Agent 要能向用户说清"我此刻有哪些权限、来自哪次授权、何时过期":用户看不懂的授权,等于没有真正做出选择。
  5. 可降权(Attenuation)——Agent 时代新增 —— 权限在每一次传递中只能收窄、不能放大,这就是缩权(attenuation);子任务拿到的永远是更小的切片,用完即失效。

下一步