概述
Token Exchange(令牌交換)是基於 RFC 8693 標準協議的身份認證與授權機制,允許用戶端使用一個現有的安全性權杖(subject_token)向授權伺服器換取一個新的安全性權杖。該功能適用於需要身份傳遞、委託授權及最小許可權訪問的情境。
技術定義
Token Exchange 是 OAuth 2.0 協議的擴充規範(RFC 8693),定義了一個標準的 HTTP POST 端點(通常為 /oauth/token),允許主體(Subject/Client)向授權伺服器(Authorization Server, AS)提交一個現有的安全性權杖(subject_token),以換取一個新的安全性權杖(access_token 或其他類型)。
令牌交換器制使用戶端能夠擷取具有不同受眾(audience)、許可權範圍(scope)或令牌類型的新令牌,同時保留原始主體的身份資訊。
核心能力
能力 | 說明 | 安全收益 |
許可權範圍限定 | 擷取許可權範圍更小的新令牌,實現最小許可權原則 | 限制令牌泄露後的影響範圍 |
令牌類型轉換 | 在不同令牌格式之間轉換(如 JWT 轉 SAML) | 實現不同系統間的互通性 |
身份委託 | 代表不同身份進行操作,支援身份鏈傳遞 | 實現精細化的身份管理和審計溯源 |
跨域信任 | 在不同信任域之間建立安全協作關係 | 實現獨立系統間的安全整合 |
核心概念
術語說明
術語 | 說明 |
授權伺服器 | OAuth 2.0 協議中負責身份認證、授權許可和令牌頒發的信任中心,本文檔中指 IDaaS |
用戶端 | 發起令牌交換請求的應用或服務 |
主體 | 代表實際進行業務操作的獨立身份實體,本文檔中指賬戶 |
主體令牌 | 代表主體身份的安全性權杖,用於向授權伺服器證明身份 |
受眾(Audience) | JWT 令牌 Payload 中 aud(audience)欄位的值,標識令牌的預期接收者或服務 |
許可權範圍(Scope) | 用於界定可訪問資源範圍和訪問邊界的許可權控制機制 |
令牌交換 | 基於 RFC 8693 標準協議,使用一個主體令牌換取具有新受眾和許可權範圍的安全性權杖的請求行為 |
令牌交換語義
Token Exchange 支援兩種語義模式:
語義類型 | 技術定義 | 審計特徵 |
類比語義(Impersonation) | 新產生的令牌完全代表原始令牌所有者的身份,發起者身份不保留 | 審計日誌顯示為原始令牌所有者直接執行操作 |
委託語義(Delegation) | 新產生的令牌包含原始令牌所有者和發起者的身份資訊,形成身份調用鏈 | 審計日誌同時記錄實際操作者和授權者身份 |
IDaaS 當前僅支援基於類比語義的令牌交換。
類比語義適用情境:後台服務代表使用者執行操作,且無需保留服務自身身份的場合。例如:郵件伺服器代表使用者發送郵件,收件者僅能看到寄件者為使用者本人。
委託語義適用情境:微服務架構中的多層服務調用情境。例如:A 服務調用 B 服務,B 服務再調用 C 服務,C 服務需要同時知道初始請求使用者和中間服務的身份,用於限流、審計等用途。
技術原理
工作流程
工作流程說明
階段 | 步驟 | 說明 |
階段一:擷取初始令牌 | 1-3 | 前端服務通過 SSO 登入擷取訪問資原始伺服器 A 的 Access Token,並使用該令牌請求受保護資源 |
階段二:發起令牌交換請求 | 4 | 資原始伺服器 A 作為用戶端,向授權伺服器發起令牌交換請求 |
階段三:授權伺服器處理 | 5-7 | 授權伺服器驗證主體令牌有效性,檢查存取原則,確定是否頒發新令牌 |
階段四:使用新令牌 | 8-10 | 使用新頒發的令牌訪問資原始伺服器 B,擷取受保護資源 |
應用情境
Agent 身份安全情境
在企業 Agent 服務整合情境中,Token Exchange 可實現安全的身份傳遞和委託授權。
情境描述
某企業部署了差旅規劃助手 Agent 和人力資源 MCP 服務。當員工通過差旅系統訪問 Agent 規划行程時,差旅規劃助手需要訪問人力資源 MCP 服務以擷取員工的職級資訊和差旅預算等資料。
服務節點對應關係
令牌交換工作流程 | Agent 身份安全情境 |
前端服務(Front Service) | 差旅系統 |
資原始伺服器 A | 差旅規劃助手 Agent |
資原始伺服器 B | 人力資源 MCP 服務 |
授權伺服器 | IDaaS 授權伺服器 |
與 M2M 訪問的差異
Token Exchange 支援將授權安全地傳遞至下遊服務(如人力資源 MCP 服務),同時保留業務操作的主體身份資訊(員工 User),無需員工進行二次認證授權。
令牌交換頒發的新令牌(AT_obo)中完整保留了授權傳遞鏈路:差旅系統 → 差旅規劃助手 Agent → 人力資源 MCP 服務,支援完整的溯源和審計能力。
功能限制
限制項 | 說明 |
令牌簽發限制 | IDaaS 授權伺服器僅接受自身簽發的令牌進行交換 |
許可權限制 | 用戶端需具備目標受眾和許可權範圍的授權 |
令牌狀態限制 | 主體令牌必須在有效期間內且能被授權伺服器正確驗證 |
交換次數限制 | 令牌僅支援有限次數的交換,防止無限迴圈授權 |
令牌類型限制 | 當前僅支援 Access Token 之間的交換 |