API Academy
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. API Security
  • 歡迎
  • 目錄
  • API 學院
    • Get Started
      • 什麼是 API?
      • API 如何運作?
      • 如何呼叫 API?
      • 如何閱讀 API 文件?
      • 章節總結
    • API Fundamentals
      • API 基礎知識:概覽
      • 方法與路徑
      • 參數
      • 請求 Body
      • 回應
      • API 規格與 OAS
      • 章節總結
    • Working with APIs
      • 使用 API:概覽
      • 根據規格發送請求
      • 環境與變數
      • 串聯多個端點
      • 處理 Auth
      • 處理 API 簽名
      • 腳本介紹
      • 章節總結
    • Mocking APIs
      • Mocking API:概覽
      • Smart Mock
      • Mock 預期結果
      • Cloud Mock
      • Mock 腳本
      • 章節總結
    • Designing APIs
      • 設計 API:概覽
      • API 設計介紹
      • 建立您的第一個 API 專案
      • 分析需求並規劃您的 API
      • 設計資料模型
      • 設計端點
      • 使用組件與可重用性
      • 設定與 Auth
      • API 設計指南
      • 章節總結
    • Developing APIs
      • 開發 API:概覽
      • 設定:安裝您的 AI 程式碼助手
      • 快速入門:30 分鐘內從規格到運行的 API
      • 了解生成的程式碼
      • 使用 Apidog 測試您的 API
      • 部署:將您的 API 上線
      • 章節總結
    • Testing APIs
      • 測試 API:概覽
      • 快速入門:您的第一個測試場景
      • 整合測試與資料傳遞
      • 動態值
      • 斷言與驗證
      • 流程控制:If, For, ForEach
      • 資料驅動測試
      • 性能測試
      • 測試報告與分析
      • CI/CD 整合
      • 排程任務與自動化
      • 進階測試策略
      • 章節總結
    • API Documentations
      • API 文件:概覽
      • 發布您的第一個 API 文件
      • 自訂文件外觀
      • 給消費者的互動功能
      • 進階發布設定
      • 管理 API 版本
      • 章節總結
    • Advanced API Technologies
      • 進階 API 技術:概覽
      • GraphQL
      • gRPC
      • WebSocket
      • Socket.IO
      • Server-Sent Events
      • SOAP
      • 章節總結
    • API Lifecycle
      • API 生命周期:概覽
      • API 生命周期的階段
      • API 治理
      • API 安全最佳實踐
      • 監控與分析
      • API 版本策略
      • API 的未來
      • 章節總結
    • API Security
      • API 安全性:概覽
      • API 安全性基礎知識
      • 身份驗證 vs. 授權
      • 了解 OAuth 2.0 和 OpenID Connect
      • JSON Web Tokens (JWT)
      • OWASP API 安全 Top 10
      • 加密與 HTTPS
      • 章節總結
    • API Tools
      • API 工具:概覽
      • API 工具的演變
      • API Clients
      • 命令列工具 (cURL, HTTPie)
      • API 設計和文件工具
      • API Mocking 工具
      • API 測試工具
      • 一體化 API 平台
      • 章節總結
    • API Gateway
      • API Gateway:概覽
      • 什麼是 API Gateway?
      • API Gateway 的關鍵功能
      • API Gateway vs 負載平衡器 vs 服務網格
      • 流行 API Gateway 解決方案
      • BFF (Backend for Frontend) 模式
      • 章節總結
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. API Security

API 安全性基礎知識

在深入探討 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 防護。
Gateway:速率限制、IP 白名單。
應用程式:輸入驗證、正確的身份驗證邏輯。
資料:靜態資料加密。

3. 零信任架構 (Zero Trust Architecture)#

「永不信任,始終驗證。」前提是威脅可能存在於網路外部和內部。
API 情境:僅僅因為請求來自內部微服務並不意味著它應該被固有地信任。它仍然必須包含有效的身份驗證 Token。

4. 安全設計 (Security by Design)#

安全性應整合到 API 設計階段,而不是在部署前才添加。
使用安全預設值(例如:除非明確授予,否則拒絕存取)。
根據嚴格的架構驗證所有輸入(例如:OpenAPI 定義)。

關鍵要點#

CIA 三角:機密性、完整性和可用性是目標。
最小權限:給予必要的最小權限。
零信任:驗證每個請求,即使是內部請求。
驗證:永遠不要信任用戶端輸入;根據您的 Schema 進行驗證。
下一步:安全性中最常見的混淆是關於「你是誰」和「你能做什麼」。讓我們在 身份驗證 vs. 授權 中釐清這一點。
Modified at 2025-12-29 09:35:19
Previous
API 安全性:概覽
Next
身份驗證 vs. 授權
Built with