API Academy
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. API Lifecycle
  • 歡迎
  • 目錄
  • 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 Lifecycle

API 安全最佳實踐

安全性不應該是事後的考量。不安全的 API 是攻擊者進入您資料庫的直接門戶。在本節中,我們將介紹在 API 生命週期中保護 API 的不可協商最佳實踐。

1. 身分驗證 (Authentication) vs. 授權 (Authorization)#

身分驗證(你是誰?):驗證使使用者的身分。使用標準協定如 OAuth 2.0 或 OpenID Connect。避免自己發明加密方法。
授權(你能做什麼?):驗證權限。僅僅因為使用者已登入並不意味著他們可以刪除資料庫。實作 RBAC(基於角色的存取控制) 或 ABAC(基於屬性的存取控制)。

2. 無處不在的加密#

傳輸中:始終使用 HTTPS (TLS)。永遠不要透過純 HTTP 暴露 API。
靜態:加密資料庫中的敏感資料(密碼、個人身分資訊 PI)。

3. 速率限制與節流#

透過限制用戶端可以發出的請求數量來防止濫用(DDoS 攻擊或錯誤的迴圈)。
速率限制 (Rate Limit):「每小時 1000 個請求」。
節流 (Throttle):「每秒 10 個請求」。
當達到限制時返回 429 Too Many Requests 狀態碼。

4. 輸入驗證#

永遠不要信任用戶端輸入。
注入攻擊:SQL Injection, Command Injection。
驗證:嚴格的資料結構驗證(使用您的 OpenAPI 定義!)以在錯誤格式的資料到達您的邏輯之前拒絕它。

5. 影子 API (Shadow APIs - 隱藏的威脅)#

「影子 API」是存在於生產環境中但沒有文件或未被管理的 API 端點。這些通常是被遺忘的開發端點。
解決方案:嚴格的治理和自動化掃描,以確保每個運行的服務都在您的開發者入口網站中被記錄。

關鍵收穫#

零信任:驗證每一個輸入,驗證每一個身分。
標準:使用 OAuth 2.0 和 TLS;不要發明您自己的安全協定。
縱深防禦:結合身分驗證、速率限制和驗證層。
可見性:您無法保護您不知道存在的東西。將所有 API 建立目錄。
繼續閱讀 → 監控與分析
Modified at 2025-12-29 09:35:19
Previous
API 治理
Next
監控與分析
Built with