文件
認證方式
所有 API 請求皆透過 API key 驗證。每一個 request 都必須在 header 中帶入 X-API-Key,平台會依據該金鑰對應的方案、權限與使用限制處理請求。
認證方式#
認證機制的目的不只是識別使用者,也包括請求隔離、使用量統計、速率控制與存取追蹤。
若你將資料接入研究流程、策略系統、agent workflow 或內部平台,應將金鑰管理視為正式基礎設施的一部分,而不是單純的登入資訊。
平台目前採用 API key 認證。請將 API key 放入每一個 request 的 X-API-Key header 中,再搭配對應的 endpoint 與查詢參數發送請求。
這種設計的優點是簡單、穩定,且容易整合進現有系統。無論你使用的是後端服務、排程任務、資料管線、研究腳本或自動化 agent,都可以在不依賴 session 的情況下直接完成存取控制。
每個 API key 都會對應到明確的方案與使用限制,例如請求速率、可用資料範圍、歷史深度與商業使用權限。因此,認證不只是「能不能呼叫 API」,也是平台套用 entitlement 與治理規則的入口。
為什麼使用 API key#
對資料基礎設施產品而言,認證的需求不只是在入口阻擋未授權請求,更重要的是讓每一次資料存取都能被正確歸屬、計量與限制。
第一,系統可以將每次請求明確歸屬到特定帳號、團隊或環境,避免不同服務之間共用同一身份,造成追蹤困難。
第二,平台可以依據方案套用速率限制、並發限制與可用資料範圍,讓同一套 API 在不同授權下維持可預測行為。
第三,當某個服務需要輪替金鑰、停用金鑰或隔離風險時,不必影響其他系統。
第四,使用量統計、稽核紀錄與後續支援處理,都能以金鑰為基礎建立更清楚的責任邊界。
如果你的系統中同時存在開發、測試與正式環境,或同時有研究腳本、排程任務與線上服務,API key 幾乎都是最容易治理的認證方式。
請求方式#
每次請求都應在 header 中帶入 X-API-Key。平台收到請求後,會先驗證金鑰是否存在、是否有效、是否已停用,接著再套用方案對應的權限與限制。
在實務上,建議把 API key 視為伺服器端憑證,而不是前端參數。應由後端服務、排程系統、資料同步程序或安全的執行環境負責注入,而不要直接暴露在公開前端程式碼中。
若請求未帶入金鑰、金鑰格式錯誤、金鑰已失效,或請求超出方案允許範圍,平台應回傳明確的認證或授權錯誤,讓呼叫端能分辨是憑證問題、權限問題,還是 rate limit 問題。
金鑰管理#
建議不要讓所有系統共用同一把金鑰。較好的做法是依照環境與用途拆分,例如開發環境一把、正式環境一把、排程任務一把、對外服務一把。
這樣做的好處是當某一組流程需要停用或輪替時,不會影響其他系統,也能更清楚追蹤使用來源。
對於研究團隊與產品團隊而言,金鑰管理不應只是把字串存起來,而應有明確的治理規則。你需要知道哪一把金鑰屬於哪個服務、誰負責使用、部署在哪個環境,以及是否仍在有效使用中。
若平台方案支援多把金鑰,應善用這個能力來區分服務邊界。若目前方案僅允許有限數量的金鑰,更應避免把同一把金鑰散落到多個應用中,否則後續輪替與排錯都會變得困難。
安全注意事項#
不要把 API key 寫入前端公開程式碼,不要把 API key 硬寫在可公開的 repository 中,也不要把 API key 放進會被第三方工具自動收集的前端 log、client error trace 或公開 notebook。
建議把金鑰存放在環境變數、secret manager 或部署平台提供的安全憑證系統中。若你的系統已有 CI/CD、serverless、容器平台或任務排程環境,應使用對應的 secret 注入機制,而不是把金鑰直接寫死在設定檔中。
若懷疑金鑰外洩,應立即停用並輪替。不要等到發生異常流量或授權問題後才處理。對於正式系統,金鑰輪替應是可以重複執行的標準流程,而不是臨時手動操作。
認證失敗與常見問題#
若請求被拒絕,最常見的原因通常有幾類。
- 沒有帶入 X-API-Key header。
- 金鑰值錯誤、格式不完整,或複製時包含多餘空白字元。
- 金鑰已被停用、輪替或撤銷。
- 請求超出方案的速率、並發或資料存取範圍。
- 使用的 endpoint 或資料主題並不包含在目前方案內。
實務建議#
在排查時,建議先確認 header 是否存在,再確認金鑰是否有效,最後再檢查是否命中方案限制。若你在後端有做 request logging,也應避免把完整金鑰直接寫入 log,只保留必要的遮罩資訊即可。
若你只是剛開始接入,先用單一金鑰完成本地測試即可。但當你準備進入正式流程時,應盡快把金鑰管理納入環境分層、部署流程與權限治理。
對於長期運行的資料產品,API key 不只是認證手段,它同時也是平台治理、使用量管理與可追溯性的基礎。將它當成正式基礎設施來管理,後續在擴充、排錯與商業化時會省下很多成本。