Claude 平台推出無金鑰驗證,取代長效靜態 API 金鑰,使用短效 OIDC token 強化安全性。
Claude 開發團隊針對客戶常見的安全隱憂——API 金鑰管理,推出「Workload Identity Federation (WIF)」功能,讓工作負載透過既有身份提供者(IdP)如 AWS IAM、Google Cloud 或任何符合標準的 OIDC 發行者,取得短效 JWT token 驗證 Claude API,而非依賴永不失效的「sk-ant-...」靜態金鑰。此舉移除靜態憑證的儲存、輪替與洩漏風險,但強調這僅為部分安全方案,強度取決於上游 IdP 的控制。
運作機制
工作負載從 IdP 取得簽署 JWT(多為環境內建,如 Kubernetes 投影服務帳號 token、Google Cloud 元資料伺服器、Azure IMDS 或 GitHub Actions OIDC 端點),JWT 的「iss」欄位標識提供者,「sub」及其他欄位標識特定工作負載。SDK 透過環境變數或設定檔,讀取 JWT 檔案,POST 至「/v1/oauth/token」端點,使用 RFC 7523 jwt-bearer grant 交換 Anthropic 存取 token。Anthropic 驗證簽章(對照註冊 JWKS)、檢查「exp/nbf/iat」欄位,並比對聯邦規則,回傳標準 OAuth 2.0 回應,包括短效「sk-ant-oat01-...」token,綁定組織服務帳號。SDK 在每筆請求附加 token,並於到期前自動刷新,應用程式無需設定 api_key 即可正常呼叫 API。
核心概念
在 Claude Console 配置三項資源,定義「來自發行者 X、符合 Y 條件的 token,可代表服務帳號 Z 運作」。
服務帳號(svac_...):組織層級非人類身份,無 email、密碼或 Console 登入,加入 workspace 後生效,受該 workspace 的速率限制與使用歸因。不同於 API 金鑰(憑證本身),服務帳號僅 on-demand 產生憑證,便於稽核哪些工作負載代表其運作。
聯邦發行者(fdis_...):註冊 OIDC IdP,包含「Issuer URL」(JWT iss 欄位值)與「JWKS source」(公開金鑰擷取方式)。通常每環境獨立註冊,如生產 EKS 叢集、分階段叢集與 GitHub Actions 分別為三個發行者。
聯邦規則(fdrl_...):連結發行者與服務帳號,定義匹配條件、目標、授權範圍與 token 存活期(如匹配時產生範圍 S 的 token)。
設定步驟
需組織管理員權限、具 JWKS 端點的 OIDC IdP,以及可取得身份 token 的工作負載。在 Claude Console「Settings → Workload identity」頁面:
「Issuers」分頁點「Create issuer」註冊發行者。
「Settings → Service accounts」點「Create service account」建立服務帳號。
「Federation rules」分頁點「Create rule」設定規則。
工作負載驗證
配置完成後,工作負載運行時交換 IdP JWT 為 Anthropic token,SDK 自動處理交換與刷新。推薦生產環境零參數模式:相同容器映像注入環境變數「ANTHROPICFEDERATIONRULEID」、「ANTHROPICORGANIZATIONID」、「ANTHROPICSERVICEACCOUNTID」與「ANTHROPICIDENTITYTOKEN_FILE」,依環境區分。
從 API 金鑰遷移
無中斷切換既有工作負載:
平行配置聯邦。
煙霧測試憑證優先(執行「ant auth status」)。
移除所有注入的「ANTHROPICAPIKEY」。
撤銷舊 API 金鑰。
Token 存活與刷新
Anthropic token 存活期取規則「tokenlifetimeseconds」(預設 3600 秒)與呈現 IdP JWT 剩餘存活兩倍值的最小值,下限 60 秒。SDK 快取 token,按兩階段排程刷新:到期前 120 秒建議刷新、到期前 30 秒強制刷新。此設計確保短效 token(分鐘級)取代永不失效金鑰,大幅降低洩漏風險,搭配 IdP 的工作負載綁定、條件存取與稽核記錄,提供深度防禦。
此功能忠實回應客戶痛點,強調 WIF 非萬靈丹,僅強化 Anthropic 端表面安全,需仰賴上游 IdP 強度,適合追求零靜態憑證的企業工作負載。詳細文件見 https://platform.claude.com/docs/en/build-with-claude/workload-identity-federation。