第
02 篇 解决了「Agent 代表用户」的 token 形态——RFC 8693 的
act claim。但 scope=read:mail 对
Agent 仍太粗:用户可能只想让 Agent
读某个文件夹,而非整个邮箱。本文讨论
scope 粒度、UMA 2.0 的
Permission Ticket 模型是否适用于 Agent,以及 Google
incremental auth 等工程对照——不展开完整 UMA
教程,只取 Agent 相关机制。
一、Coarse Scope 为何不够
| Coarse scope | Agent 实际行为 | gap |
|---|---|---|
read:mail |
读 inbox + sent + drafts | 用户只想 summary inbox |
read:files |
遍历整个 Drive | 用户指定单个项目目录 |
read:orders |
SELECT * FROM orders |
应限 customer_id = 当前用户 |
OAuth 2.0 scope 是
字符串集合——无法表达「资源 ID = X」 unless
scope
本身编码资源(read:mail:folder:inbox),导致
scope 爆炸。
flowchart TD
COARSE["scope=read:mail"] --> PROB["无法表达 folder 级边界"]
FINE["scope + resource_id 策略"] --> SOL["RS / Policy Engine 二次判定"]
UMA["UMA Permission Ticket"] --> SOL
二、Scope 设计模式
2.1 编码资源的 Scope
read:mail:inbox
read:mail:folder:{folder_id}
read:file:{file_id}
| 优点 | 缺点 |
|---|---|
| token 自包含 | scope 字符串过长;folder 动态变化需 re-consent |
| RS 验证简单 | IdP consent UI 难展示 |
2.2 Scope + 策略引擎(推荐组合)
Token 持 coarse scope(read:mail),OPA/Cedar
在 API 或 Agent Gateway 层检查 resource
属性:
package agent.mail
import rego.v1
default allow := false
allow if {
input.scope[_] == "read:mail"
input.resource.folder_id == input.delegation.allowed_folder
}
delegation.allowed_folder 来自用户 consent
记录——存 IdP 或 Gateway DB,不进 JWT(避免 token
过大)。
2.3 Token Exchange 时缩小 Scope
RFC 8693 Exchange 请求显式
scope=read:mail:inbox——AS 验证 ⊆ 用户原
scope。Agent 任务级 token 仅含任务所需
scope(见第 02 篇 §六)。
三、UMA 2.0 核心机制(A 级:Kantara UMA 2.0 Grant)
UMA 2.0 在 OAuth 2.0 之上增加 资源所有者 对 任意资源 的授权——三角色:
| 角色 | 缩写 | 职责 |
|---|---|---|
| Resource Owner | RO | 用户,拥有资源 |
| Resource Server | RS | 托管资源 |
| Authorization Server | AS | 发 ticket、token |
3.1 Permission Ticket 流(简化)
sequenceDiagram
participant Client as Agent / Client
participant RS as Resource Server
participant AS as Authorization Server
participant RO as Resource Owner
Client->>RS: 请求资源(无 token 或 scope 不足)
RS->>Client: 401 + permission ticket
Client->>AS: 提交 ticket + 请求 scope
AS->>RO: 请求授权(异步或同步)
RO->>AS: 批准
AS->>Client: RPT (Requesting Party Token)
Client->>RS: 请求 + RPT
RS->>RS: 验证 RPT
RPT(Requesting Party Token):访问特定资源的 token——粒度细于 coarse scope。
3.2 UMA 与 Agent 的契合点
| UMA 概念 | Agent 映射 |
|---|---|
| Requesting Party | Agent(或 Agent Gateway) |
| Permission Ticket | 「Agent 想读 file-123 但无权」时 RS 返回 |
| RO 授权 | 用户 popup / 异步批准 |
| RPT | 短期、资源绑定 token |
Agent 首次访问某资源触发 ticket → 用户确认 → RPT——适合 不可预知资源 ID 的探索型 Agent(如「帮我找上周 Paul 发的 PDF」)。
3.3 UMA 与 Agent 的不契合点
| 问题 | 说明 |
|---|---|
| 延迟 | 每次新资源可能打断用户——需 batch consent |
| 实现复杂度 | 完整 UMA RS + AS 改造大 |
| 生态 | 主流 IdP 非原生 UMA 2.0——多自研 ticket 层 |
工程判断:全 UMA 部署少;取 ticket + 用户确认 思想,用 Gateway 自研轻量 Permission Ticket,不必严格 Kantara 互操作。
四、Google Incremental Authorization(B 级对照)
Google OAuth 文档描述 incremental authorization:应用先请求 minimal scope,后续按需追加 scope——弹出 incremental consent。
| 机制 | Agent 启示 |
|---|---|
| 分阶段 scope | Agent 启动只要 profile;读 Drive 前再
consent drive.readonly |
include_granted_scopes |
新 token 包含旧 scope + 新 scope |
| 用户可见性 | 每次扩大权限必须 UI 确认 |
Agent Gateway 应镜像:任务类型 → 最小 scope
集——写邮件 Agent 不应预申请
drive.full。
五、动态 Scope 与 RFC 8693 组合
用户 consent: read:mail, read:calendar (stored at IdP)
任务1 (读 inbox): Exchange scope=read:mail + policy folder=inbox
任务2 (读日历): Exchange scope=read:calendar + policy date=today
任务3 (某封邮件附件): UMA-like ticket → 用户点批准 → RPT 或 one-time scope
Token Exchange 负责 OAuth scope 边界;Policy Engine 负责 resource 实例边界;UMA-like ticket 负责 首次触达未知资源。
六、Consent 记录模型
Gateway 持久化(示意字段,非特定产品 schema):
| 字段 | 用途 |
|---|---|
user_sub |
资源所有者 |
agent_id |
被委托 Agent |
scopes |
OAuth scope 集合 |
resource_constraints |
JSON:allowed folders, max rows 等 |
granted_at / expires_at |
时间边界 |
revoked |
用户撤销 |
Exchange 前 Gateway 查此表——请求的 scope + resource 约束必须 ⊆ 记录。
七、与 RBAC/ABAC 的关系
授权模型选型 中 ABAC 适合 Agent:subject=用户, actor=Agent, resource=邮件, action=read, env=time。Scope 是 RBAC 层;UMA/ticket 是资源层;ABAC 策略统一判定。
八、反模式
- 一次 consent
无限资源——
read:files无 folder 限制。 - scope
字符串伪造资源——
read:mail:../../admin若 RS 解析不严。 - ticket 无 TTL——RPT 长期有效 = 新泄露面。
- Agent 绕过 ticket——直接调 RS API 无 Gateway——须 mTLS + token 强制。
九、边界
- 不做法务「明示同意」认定
- UMA 2.0 完整部署指南见 Kantara 规范;本文只取 Agent 机制
- Function Calling 参数级授权 在 scope 之下
十、UMA RPT 与 Agent Gateway
UMA RPT 适合不可预知资源 ID——Gateway 作 Client 向 AS 换 RPT(Kantara UMA 2.0,A 级概念)。
十一、Scope 爆炸与 ABAC
500 文件夹不宜 500 scope——coarse scope + Delegation Store constraints。
十二、Rego delegation 校验
见正文 §十四;与 多租户授权 组合 tenant 前缀。
附录 C.1、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.2、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.3、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.4、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.5、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.6、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.7、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.8、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.9、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.10、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.11、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.12、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.13、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.14、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.15、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.16、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.17、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.18、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.19、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.20、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 C.21、Scope 检查扩展项
| # | 检查项 | 负责人 | 频率 |
|---|---|---|---|
| 1 | 委托 token TTL ≤ 策略上限 | Platform | 每 release |
| 2 | act 审计字段完整 | Security | 每周 sample |
| 3 | MCP Server integrity pin | Supply chain | 每升级 |
| 4 | OPA bundle 版本与 audit 一致 | IAM | 每 policy PR |
| 5 | HITL 超时 fail-closed | App | 每 sprint |
| 6 | CAEP receiver 健康(若启用) | SRE | 实时 |
| 7 | cross-server secret 隔离测试 | Red team | 每季 |
| 8 | PII cache TTL 绑定 token | DPO review | 每季 |
与 零信任持续验证 对照:Agent 会话的 trust decay 速率应 ≤ 企业 Web 会话策略。
附录 A、Scope/UMA 场景演练
A.1 邮件摘要 Agent
| 步骤 | 动作 |
|---|---|
| 1 | 用户 consent read:mail |
| 2 | Exchange scope=read:mail:inbox |
| 3 | OPA 限 folder |
| 4 | audit 含 act |
flowchart LR
S1["用户 consent read:mail"] --> S2["Exchange scope=read:mail:inbox"]
S2 --> S3["OPA 限 folder"]
S3 --> S4["audit 含 act"]
A.2 SQL 分析 Agent
| 步骤 | 动作 |
|---|---|
| 1 | read:warehouse |
| 2 | 只读 DB role |
| 3 | Rego deny DDL |
| 4 | HITL 导出 CSV >10k rows |
flowchart LR
S1["read:warehouse"] --> S2["只读 DB role"]
S2 --> S3["Rego deny DDL"]
S3 --> S4["HITL 导出 CSV >10k rows"]
A.3 MCP Git Agent
| 步骤 | 动作 |
|---|---|
| 1 | per-server OAuth |
| 2 | stdio pin version |
| 3 | tool allowlist |
| 4 | supply chain SBOM |
flowchart LR
S1["per-server OAuth"] --> S2["stdio pin version"]
S2 --> S3["tool allowlist"]
S3 --> S4["supply chain SBOM"]
A.4 跨 API 编排
| 步骤 | 动作 |
|---|---|
| 1 | 多 resource Exchange |
| 2 | 每 API 独立 token |
| 3 | Gateway 聚合 |
| 4 | trace 串联 |
flowchart LR
S1["多 resource Exchange"] --> S2["每 API 独立 token"]
S2 --> S3["Gateway 聚合"]
S3 --> S4["trace 串联"]
A.5 offboarding
| 步骤 | 动作 |
|---|---|
| 1 | SCIM deactivate |
| 2 | CAEP or TTL |
| 3 | cache flush |
| 4 | audit retention |
flowchart LR
S1["SCIM deactivate"] --> S2["CAEP or TTL"]
S2 --> S3["cache flush"]
S3 --> S4["audit retention"]
A.6 供应链攻击响应
| 步骤 | 动作 |
|---|---|
| 1 | disconnect MCP Server |
| 2 | rotate per-server token |
| 3 | SBOM diff |
| 4 | post-incident audit |
flowchart LR
S1["disconnect MCP Server"] --> S2["rotate per-server token"]
S2 --> S3["SBOM diff"]
S3 --> S4["post-incident audit"]
A.7 HITL 超时
| 步骤 | 动作 |
|---|---|
| 1 | pending transfer |
| 2 | 7200s expire |
| 3 | Agent Cancelled |
| 4 | audit expired |
flowchart LR
S1["pending transfer"] --> S2["7200s expire"]
S2 --> S3["Agent Cancelled"]
S3 --> S4["audit expired"]
A.8 跨云 OBO
| 步骤 | 动作 |
|---|---|
| 1 | Entra user token |
| 2 | Gateway normalize act |
| 3 | RS 统一 audit schema |
| 4 | policy 同构 |
flowchart LR
S1["Entra user token"] --> S2["Gateway normalize act"]
S2 --> S3["RS 统一 audit schema"]
S3 --> S4["policy 同构"]
附录 B、Scope/UMA 常见问题
Q:能否省略 Agent Gateway?
A:仅当 Agent 永不持 user refresh 且 RS 支持 Token Exchange
直联——多数企业仍要 Gateway 聚 policy、HITL、audit。
Q:MCP 是否替代 OAuth?
A:否。MCP 管 tool 协议;OAuth 管身份。
Q:CAEP 未支持怎么办?
A:短 TTL(≤15min)为基线;heartbeat 补 Gateway 层
revoke。
Q:如何证明 Agent 未越权?
A:deny 日志 + policy_version + 定期 access
review(IGA)。
Q:Gen2 到 Gen4 最小步骤?
A:Gateway 托管 refresh → 启用 Exchange → RS 解析 act → 下线
Agent 侧 refresh。
上一篇:Agent 身份谱系
附录 Z.1、系列交叉检查
| 项 | 标准 | 关联 |
|---|---|---|
| 委托链 | JWT 含可解析 act |
第 02 篇 |
| 工具策略 | deny 100% 审计 | 第 04 篇 |
| MCP 隔离 | per-server token | 第 07 篇 |
| 吊销 | TTL ≤ 15min 基线 | 第 08 篇 |
| 归因 | delegator_id 必填 | 第 09 篇 |
flowchart LR
IDP[IdP] --> GW[Agent Gateway]
GW --> MCP[MCP Host]
GW --> RS[Resource Server]
附录 Z.2、系列交叉检查
| 项 | 标准 | 关联 |
|---|---|---|
| 委托链 | JWT 含可解析 act |
第 02 篇 |
| 工具策略 | deny 100% 审计 | 第 04 篇 |
| MCP 隔离 | per-server token | 第 07 篇 |
| 吊销 | TTL ≤ 15min 基线 | 第 08 篇 |
| 归因 | delegator_id 必填 | 第 09 篇 |
flowchart LR
IDP[IdP] --> GW[Agent Gateway]
GW --> MCP[MCP Host]
GW --> RS[Resource Server]
参考资料
- Kantara Initiative, UMA 2.0 Grant for OAuth 2.0 Authorization
- IETF RFC 8693, OAuth 2.0 Token Exchange
- Google Identity, OAuth 2.0 Incremental Authorization(B 级)
- OPA 策略引擎
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【Agent 身份与安全】Agent 身份谱系:从 API Key 到委托 Token
四代 Agent 身份模型:API Key、OAuth 用户 token、Service Account、RFC 8693 Token Exchange 委托链。拆解 subject_token、actor_token、act claim,以及与 JWT/JWKS 系列的交叉引用。
【Agent 身份与安全】Function Calling 的授权模型
Tool schema 暴露面、允许列表 vs OPA/Cedar 策略引擎、SQL Agent 的 statement class 与 RLS 边界,以及 Host 层 tool 调用拦截架构。
【Agent 身份与安全】MCP 架构与安全基线
Model Context Protocol 的 Host/Client/Server 三角、stdio 与 Streamable HTTP Transport 安全差异、OAuth 2.1 for MCP 草案边界,以及多 Server secret 隔离与 tool 攻击面。
【Agent 身份与安全】AI Agent 的身份、委托与审计
IAM 系列(人)与零信任系列(边界)的自然延伸:当 LLM Agent 代表用户调用 API、执行 SQL、读写邮件时,传统 OAuth 模型如何扩展?拆解 Token Exchange、MCP 安全模型、工具级授权、持续验证与审计归因。