實作 API 原則

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

API 原則導論

API 管理原則

  • 像門口保全:檢查誰能進來
  • 像「速限標誌」:控管流量
  • 封鎖異常請求以保護 API
  • 節流請求,避免壓垮系統
  • 經過 API Gateway 的一切都由原則控管
Azure API Management

API 管理原則總覽

APIM 原則

  • 原則是用簡潔 XML 撰寫的強大規則組
  • 可把它想成「請求—回應管線」
  • 你能在不同階段插入規則以調整流量
  • 最棒的是:不用改後端程式碼
Azure API Management

範例:向後相容性

透過 APIM 維持相容性

Azure API Management

原則範圍

  • 原則可設為全域、組織層級
    • 這些規則會控管所有 API
  • 也可套用於單一 API
    • 便於管理特定產品
  • 也可套用於單一端點
    • 用於更細緻的控管

原則範圍

Azure API Management

入站原則

  • 請求抵達時,APIM 會先評估「入站原則」
  • 例:透過擴充負載資料,讓舊版 App 相容新版 API
  • 入站原則可防禦惡意嘗試
  • 能偵測格式錯誤或缺漏資料的請求
  • 這道前置護欄可阻止不良資料進入服務

入站資料擴充

請求驗證

Azure API Management

安全與節流

入站安全原則

強制請求配額

  • 這些機制會對過量客戶端節流,確保公平與保護後端
  • 入站原則也負責「安全性」
  • 常見作法:驗證 JWT(JSON Web Token)
  • 可把 JWT 視為客戶端送來的數位身分證
  • validate-jwt 原則會檢查其是否合法、未過期,且來自信任簽發者(如 Entra ID)
  • 更嚴格控管:速率限制與配額原則
Azure API Management

出站原則

  • 後端處理完成後,「出站原則」會在回傳前調整回應
  • 想像餐廳流程:點餐 → 廚房(後端)→ 擺盤站(出站原則)
  • 出站原則可以:
    • 移除不需要的部分(如敏感標頭)
    • 加入指示(如快取指令)
    • 變更格式(如將 XML 轉成 JSON)

回應資料擴充

回應轉換

  • 無論後端如何準備,回應都能符合客戶端預期
Azure API Management

一起來練習吧!

Azure API Management

Preparing Video For Download...