在深入探討 OAuth 或 JWT 等特定協議之前,必須先了解管理安全系統的基本原則。API 安全性不是憑空存在的;它依賴於資訊安全的三大支柱,通常稱為 CIA 三角 (CIA Triad)。CIA 三角#
1.
機密性 (Confidentiality):確保資料僅由授權方存取。範例:銀行 API 確保使用者 A 無法查看使用者 B 的帳戶餘額。
2.
完整性 (Integrity):確保資料是可靠且準確的,並且未被未經授權的人員篡改。範例:確保 100 美元的轉帳請求在傳輸過程中不會變成 1000 美元。
3.
可用性 (Availability):確保資料和服務在需要時可供需要的人使用。範例:實作速率限制以防止殭屍網路癱瘓您的 API。
關鍵安全原則#
1. 最小權限原則 (Principle of Least Privilege)#
每個模組、使用者或介面應該僅擁有其合法目的所需的資訊和資源的存取權限。API 情境:如果一個行動應用程式只需要讀取使用者的個人資料,發給它的 API Token 就不應該有寫入權限。
2. 縱深防禦 (Defense in Depth)#
安全性應該是分層的。不要依賴單一控制(如防火牆)來保護您的 API。網路:WAF(Web 應用程式防火牆)、DDoS 防護。
3. 零信任架構 (Zero Trust Architecture)#
「永不信任,始終驗證。」前提是威脅可能存在於網路外部和內部。API 情境:僅僅因為請求來自內部微服務並不意味著它應該被固有地信任。它仍然必須包含有效的身份驗證 Token。
4. 安全設計 (Security by Design)#
安全性應整合到 API 設計階段,而不是在部署前才添加。使用安全預設值(例如:除非明確授予,否則拒絕存取)。
根據嚴格的架構驗證所有輸入(例如:OpenAPI 定義)。
關鍵要點#
驗證:永遠不要信任用戶端輸入;根據您的 Schema 進行驗證。
下一步:安全性中最常見的混淆是關於「你是誰」和「你能做什麼」。讓我們在 身份驗證 vs. 授權 中釐清這一點。 Modified at 2025-12-29 09:35:19