🪪 Agent Identity 详解

2026热门 安全 NIST标准

一句话理解:Agent Identity 就像给每个AI Agent发身份证——不再是一群人共用一个门禁卡,而是每个Agent都有自己的身份、权限和审计记录。谁干了什么,一目了然。

🤔 为什么 Agent Identity 突然重要了?

凌晨2点13分,你的生产Agent突然删除了数据库里的三张表。你冲进日志一看,发现是"agent_service_account"干的——但公司里有17个Agent都用这个账号。你根本不知道是谁干的,就像17个人共用一把钥匙,门开了你不知道谁进的。

这就是2026年之前绝大多数企业的现状:所有AI Agent共享同一个服务账号(Service Account),没有独立身份,没有细粒度权限,没有审计追溯。

2026年2月5日,NIST的National Cybersecurity Center of Excellence(NCCoE)发布了一份概念论文——"Accelerating the Adoption of Software and AI Agent Identity and Authorization"。翻译成人话就是:别再让所有Agent共用一个账号了,要出事的。

🏗️ Agent Identity 的三层模型

❌ 旧模式:共享身份

  • 所有Agent共用一个Service Account
  • 无法区分是谁在执行操作
  • 一个Agent出事=所有Agent出事
  • 无法实施最小权限原则
  • 审计日志全是一个用户

✅ 新模式:独立身份

  • 每个Agent拥有独立身份凭证
  • 操作可追溯到具体Agent
  • 一个Agent被攻破≠全部沦陷
  • 每个Agent只有必需的最小权限
  • 审计日志精确到Agent粒度

Identity 三层架构

🔐 Agent Identity 的关键技术

1. Agent Identity Token (AIT)

类似人的身份证,AIT是Agent的数字身份凭证。包含:

2. Delegation Chain(委托链)

当Agent A调用Agent B时,身份通过委托链传递:

# 委托链示例
User(诗中) → Agent_A(researcher) → Agent_B(analyst)

# 每一层都保留了原始发起人的身份
# Agent_B执行操作时,系统知道:
# - 直接调用者:researcher
# - 原始发起人:诗中
# - 委托路径:user → researcher → analyst

3. Policy-as-Code(策略即代码)

权限策略用代码定义,版本管理,可审计:

# Agent权限策略示例
policies:
  researcher_agent:
    allowed_tools: [web_search, web_fetch, read]
    denied_tools: [write, exec, delete]
    max_token_budget: 50000
    allowed_domains: ["*.wikipedia.org", "*.arxiv.org"]
    time_restriction: "06:00-23:59 CST"
    
  writer_agent:
    allowed_tools: [write, edit, feishu_doc]
    denied_tools: [exec, delete]
    max_token_budget: 100000
    requires_approval_for: [publish, send_message]
    
  admin_agent:
    allowed_tools: [ALL]
    denied_tools: []
    max_token_budget: UNLIMITED
    requires_human_approval: true  # 管理员Agent必须有人类审批

🤖 OpenClaw 中的 Agent Identity 实战

1. Agent配置中的身份定义

# OpenClaw Agent 身份配置
# 每个Agent有独立的身份和权限边界

# 通过 Gateway 配置 Agent 身份
gateway(action="config.patch", raw=JSON.stringify({
  agents: {
    "miaoquai-content-agent": {
      model: "claude-3.5-sonnet",
      description: "内容创作Agent",
      # 身份与权限
      tools: ["write", "edit", "web_search", "read"],
      # toolsAllow 限制可用工具 = 最小权限
    },
    "miaoquai-monitor-agent": {
      model: "gpt-4o-mini",
      description: "监控Agent",
      tools: ["web_search", "web_fetch", "read"],
      # 只读权限,不能写不能删
    }
  },
  # 全局安全策略
  security: {
    requireApprovalFor: ["delete", "exec:elevated"],
    maxConcurrentAgents: 5
  }
}))

2. Sub-Agent 的身份隔离

# OpenClaw sub-agent 天然具备身份隔离
# 每个 sub-agent 运行在独立的 session 中

# 研究Agent - 只有搜索权限
sessions_spawn(
  task="搜索AI Agent市场数据",
  mode="run",
  runtime="subagent",
  # sub-agent 只能使用允许的工具
  # 无法访问父session的敏感数据
)

# 运维Agent - 有执行权限但需要审批
sessions_spawn(
  task="部署新版本到生产环境",
  mode="run",
  runtime="subagent",
  # exec 需要人类审批 (/approve)
)

3. 审计追踪

# OpenClaw 天然的审计能力
# session_history 记录了完整的操作链路

# 查看某个session的完整操作记录
sessions_history(
  sessionKey="agent-session-xxx",
  includeTools=True,  # 包含所有工具调用
  limit=100
)

# 每条记录包含:
# - 谁(Agent ID / session key)
# - 何时(timestamp)
# - 做了什么(tool calls, model decisions)
# - 结果如何(tool outputs, model responses)
# - 消耗了多少(token usage, cost)

4. Elevated 执行:身份验证的最后一道防线

# OpenClaw elevated 执行 - 需要人类显式审批
# 这就是 Agent Identity 中的 Human-in-the-Loop 安全机制

exec(
  command="rm -rf /var/www/miaoquai/old-backup/",
  elevated=True  # 触发人类审批流程
)

# 系统返回:
# ⚠️ 需要审批: rm -rf /var/www/miaoquai/old-backup/
# 请在聊天中输入 /approve 来批准此操作

# 人类审批后才会执行
# 审批记录永久保存在session历史中

⚡ 实施 Agent Identity 的建议

🔗 相关术语

📚 延伸阅读