什麼是 Azure API 管理?
讓我們從快速概觀 Azure APIM 及其核心功能開始。 本總覽應可協助您決定 Azure APIM 是否能作為降低公司 API 複雜性的合適解決方案。
什麼是 API 生命週期管理?
API 生命週期管理是在 API 的整個生命週期管理 API 的程序;生命週期起自 API 的設計和建立,止於 API 過時與淘汰。 為達成此課程模組的目的,將在您的 API 經過設計、編碼及部署之後,繼續進行。 讓我們專注於其餘的 API 生命週期管理工作,包括:
- 提供 API 文件、測試和程式碼範例。
- 上線及退出使用者。
- 管理 API 訂用帳戶和散發訂用帳戶金鑰。
- 以受控制且安全的方式執行 API 修訂。
- 管理 API 的多個版本。
- 實作 API 存取控制,例如驗證和呼叫頻率限制。
- 提供使用方式、錯誤等等的 API 報表。
- 為貴公司和使用 API 的開發人員管理分析。
Azure APIM 定義
Azure APIM 是一項雲端服務,可為您提供發佈、保護、維護及分析公司所有 API 的平台。 Azure APIM 提供三個主要元件來完成這些工作:
- 閘道器
- 管理介面
- 開發人員入口網站
重要
Azure APIM 不會裝載實際 API;您的 API 會保留在最初部署的位置。 相反地,Azure APIM 可作為您 API 的某種外觀或「大門」。 如此一來,Azure APIM 就可讓您在 Azure 中設定 API 原則和其他管理選項,同時讓已部署的後端 API 保持不變,藉此分離您的 API。
閘道器
Azure APIM 閘道是可接受來自所有 API 全部呼叫的 Azure 端點。 閘道:
- 驗證 API 訂用帳戶金鑰和其他認證。
- 強制執行您的使用量配額和速率限制。
- 視需要針對後端相容性轉換 API。
- 將每個呼叫路由傳送至其適當的後端伺服器。
- 快取後端回應。
- 收集分析工作負載的呼叫中繼資料。
管理介面
Azure APIM 管理介面是一組可讓您管理服務和 API 的 Azure 入口網站頁面與工具。 除了佈建、縮放和監視服務外,您還可以使用系統管理介面來執行下列動作:
- 定義或匯入 API 規格
- 實作配額和速率限制等使用原則
- 設定安全性原則
- 管理使用者
- 將 API 封裝至產品
- 定義 API 轉換
- 管理 API 修訂和版本
- 對您的 API 中繼資料執行分析
開發人員入口網站
Azure APIM 開發人員入口網站是可讓開發人員透過下列方式與您的 API 互動的可完全自訂網站:
- 檢閱每個 API 的文件。
- 使用互動式主控台來嘗試 API。
- 以不同的程式設計語言檢閱程式碼範例。
- 訂閱 API 並取得 API 訂用帳戶金鑰。
- 對開發人員使用方式執行分析。
Azure APIM 層
Azure APIM 提供數個服務層,每個服務層都提供一組不同的功能、容量和價格。 下表以最低價格到最高價格的順序列出這些服務層,並比較一些主要功能。
準則 | 耗用 | 開發人員 | 基本 | Standard | 高級 |
---|---|---|---|---|---|
設計用途 | 輕量使用方式 | 評估、測試和其他非生產環境的使用方式 | 入門級生產使用方式 | 中量生產使用方式 | 大量或企業生產使用方式 |
Cache | 僅外部 | 10 兆位元組 (MB) | 50 MB | 1 GB | 5 GB |
服務等級協定 (SLA) | 99.95% | 無 | 99.95% | 99.95% | 99.99% |
開發人員入口網站 | No | .是 | .是 | .是 | Yes |
內建分析 | No | .是 | .是 | .是 | Yes |
輸送量 (估計的要求數/秒) | N/A | 500 | 1,000 | 2,500 | 4,000 |
注意
取用層的定價是依 API 呼叫而定,前一百萬個呼叫免費,其餘呼叫則以每 10,000 個呼叫為單位按固定費率計費。 所有其他層的定價則依小時計費。
將原則套用至 API 要求和回應
具有多個已發佈 API 的最大問題之一,就是每個 API 都需要一組不同的原則。 在此,原則是控制 API 行為的設定或動作。 例如,如果您想要強制執行速率限制 (在指定時段內從單一來源允許的 API 呼叫數目上限),則需將該限制作為 API 原則的一部分納入。 速率限制只是一個範例,但有許多您可以套用的原則。 將這些程序對數個不同的 API 重複進行,足以成為管理人員的夢魘。
Azure APIM 可讓您在單一位置 (也就是 Azure APIM 管理介面) 設定所有 API 的原則,藉此解決 API 原則問題。 使用 Azure APIM 時,您可以在許多類別中設定原則。 部分清單包括:
- 存取限制。 這些原則會決定允許 API 要求穿過閘道的時機。 例如,強制執行速率限制和使用量配額、篩選呼叫端 IP,以及檢查有效 JSON Web 權杖 (JWT)。
- 驗證。 例如,使用基本驗證、用戶端憑證或受控識別來驗證 API 呼叫。
- 快取。 藉由在快取中儲存和擷取回應以改善 API 效能。
- 驗證。 比較特定參數與 API 規格中的內容以驗證 API 呼叫。 例如,驗證要求或回應主體、要求標頭參數和回應標頭。
在原則定義中彈性地合併您的原則,原則定義是由一系列陳述式組成的 XML 文件,每個陳述式都代表一個原則及其參數。 原則定義可讓您在 API 要求-回應管線的不同階段設定個別的原則: