什麼是 Azure API 管理?
本文提供 Azure API 管理常見案例和重要元件的概觀。 Azure API 管理是跨所有環境適用於 API 的混合式多重雲端管理平台。 身為平台即服務,API 管理支援完整的 API 生命週期。
案例
API 可啟用數位體驗、簡化應用程式整合、支援新的數位產品,以及讓資料和服務可重複使用且可通用存取。 隨著 API 的激增和增加相依性,組織必須在整個生命週期中將其作為第一級資產加以管理。
Azure API 管理可協助客戶滿足這些挑戰:
- 從 API 取用者提取後端架構多樣性和複雜度
- 安全地將裝載在 Azure 外部的服務公開為 API
- 保護、加速及觀察 API
- 啟用內部和外部使用者的 API 探索和使用
常見案例包括:
- 解除鎖定舊版資產 - API 可用來提取和現代化舊版後端,並使其可從新的雲端服務和新式應用程式進行存取。 API 允許創新,而沒有風險、成本和移轉延遲。
- 以 API 為中心的應用程式整合 - API 很容易使用、以標準為基礎,且自我描述機制可用來公開和存取資料、應用程式和流程。 這些可簡化並降低應用程式整合的成本。
- 多通道使用者體驗 - API 經常用來啟用使用者體驗,例如 Web、行動裝置、穿戴式或物聯網應用程式。 重複使用 API 來加速開發和 ROI。
- B2B 整合 - 向合作夥伴和客戶公開的 API 會降低整合商務流程並在商務實體之間交換資料的障礙。 API 可消除點對點整合固有的額外負荷。 特別是啟用自助式探索和上線功能時,API 是調整 B2B 整合的主要工具。
API 管理元件
Azure API 管理是由 API「閘道」、管理平面和「開發人員入口網站」所組成。 這些元件預設為 Azure 裝載且完全受控。 API 管理可在容量和功能不同的各個階層中使用。
API 閘道
來自用戶端應用程式的全部要求都會先連線到 API 閘道,然後將這些轉送至個別的後端服務。 API 閘道可作為後端服務的介面,讓 API 提供者能夠提取 API 實作,並演進後端架構,而不會影響 API 取用者。 閘道可讓您一致地設定路由、安全性、節流、快取和可檢視性。
具體而言,閘道:
- 接受 API 呼叫並將其路由傳送至適當的後端,作為後端服務的外觀
- 驗證 API 金鑰和其他認證,例如透過要求呈現的 JWT 權杖和憑證
- 強制採用使用量配額和頻率限制
- 選擇轉換原則陳述式中指定的要求和回應
- 如果已設定,請快取回應以改善回應延遲,並將後端服務上的負載降到最低
- 發出監視、報告和疑難排解的記錄、計量和追蹤
自我裝載閘道
透過自我裝載的閘道,客戶可以將 API 閘道部署到裝載其 API 的相同環境,以將 API 流量最佳化,並確保符合當地法規和指導方針。 自我裝載的閘道可讓客戶使用混合式 IT 基礎結構,從 Azure 中的單一 API 管理服務管理裝載於內部署和跨雲端的 API。
自我裝載的閘道會封裝為 Linux 型 Docker 容器,而且通常會部署到 Kubernetes,包括 Azure Kubernetes Service 和 已啟用 Azure Arc 的 Kubernetes 。
詳細資訊:
管理平面
API 提供者會透過管理平面與服務互動,以提供 API 管理服務功能的完整存取權。
客戶透過 Azure 工具與管理平面互動,包括 Azure 入口網站、Azure PowerShell、Azure CLI、Visual Studio Code 延伸模組,或數種熱門程式設計語言的用戶端 SDK。
使用管理平面來執行下列作業:
- 佈建和設定 API 管理服務設定
- 從各種來源定義或匯入 API 架構,包括 OpenAPI 規格、Azure 計算服務或是 WebSocket 或 GraphQL 後端
- 將 API 封裝至產品
- 設定原則,例如 API 的配額或轉換
- 從分析中取得見解
- 管理使用者
開發人員入口網站
開放原始碼開發人員入口網站是自動產生、可完全自訂的網站,其中包含您的 API 文件。
透過新增入自訂內容、自訂樣式和加入自己的品牌,API 提供者即可自訂開發人員入口網站的介面及操作。 透過自我裝載,進一步擴充開發人員入口網站。
應用程式開發人員會使用開放原始碼開發人員入口網站來探索 API、上線以使用 API,以及了解如何在應用程式中取用這些。 (API 也可以匯出至 Power Platform 以供公民開發者探索和使用。)
使用開發人員入口網站,開發人員可以:
- 參閱 API 文件
- 透過互動式主控台呼叫 API
- 建立帳戶並訂閱以取得 API 金鑰
- 存取他們自己的使用量分析資料
- 下載 API 定義
- 管理API 金鑰
Azure 服務整合
API 管理與許多互補的 Azure 服務整合以建立企業解決方案,其中包括:
- Azure Key Vault,用於安全保護和管理用戶端憑證和祕密
- 適用於管理作業、系統事件和 API 要求的記錄、報告和警示的 Azure 監視器
- 即時計量、端對端追蹤和疑難排解的 Application Insights
- 用於網路層級保護的虛擬網路、私人端點和應用程式閘道
- 適用於開發人員驗證和要求授權的 Azure Active Directory
- 用於串流事件的事件中樞
- 數個 Azure 計算供應項目通常用於在 Azure 上建置和裝載 API,包括 Functions、Logic Apps、Web Apps 、Service Fabric 等。
詳細資訊:
重要概念
API
API 是 API 管理服務執行個體的基礎。 每個 API 都代表可供應用程式開發人員使用的一組「作業」。 每個 API 都包含會實作 API 之後端服務的參考,而其作業會與後端作業相對應。
API 管理中的作業可設定度相當高,並可控制 URL 對應、查詢和路徑參數、要求和回應內容,以及作業回應快取。
詳細資訊:
產品
產品是將 API 呈現給開發人員的方式。 API 管理中的產品有一或多個 API,而且可為「開放的」或「受保護」。 受保護的產品需要訂閱金鑰,而開放產品則可以免費取用。
當產品可供開發人員使用時,即可將產品發佈。 發佈後,開發人員可以檢視或訂閱產品。 訂閱核准是在產品層級設定,可能需要管理員核准,或是可自動核准。
詳細資訊:
群組
群組的作用是管理產品對於開發人員的可見度。 API 管理具有下列內建群組:
管理員可管理 API 管理服務執行個體、建立開發人員所使用的 API、作業和產品。
Azure 訂閱管理員是此群組的成員。
開發人員 - 使用 API 建置應用程式的已驗證開發人員入口網站使用者。 開發人員獲授與開發人員入口網站的存取權,並建置呼叫 API 作業的應用程式。
來賓 - 未經驗證的開發人員入口網站使用者,例如,造訪開發人員入口網站的潛在客戶。 他們可獲得特定唯讀存取權限,例如他們可檢視 API 但無法進行呼叫。
管理員也可以建立自訂群組,或使用相關聯 Azure Active Directory 租用戶中的外部群組,讓開發人員能夠看見 API 產品並存取。 例如,為合作夥伴組織中的開發人員建立自訂群組,以存取產品中的特定 API 子集。 使用者可隸屬於多個群組。
詳細資訊:
開發人員
開發人員代表 API 管理服務執行個體中的使用者帳戶。 開發人員可由管理員建立或邀請加入,也可以透過開發人員入口網站註冊。 每個開發人員都是一或多個群組的成員,而且可訂閱對那些群組授與可見度的產品。
開發人員訂閱產品時,將可獲得呼叫產品的 API 時使用的產品主要和次要金鑰。
詳細資訊:
原則
使用原則,API 發行者可以透過設定來變更 API 的行為。 原則是陳述式的集合,會因 API 的要求或回應循序執行。 常見的陳述式包括從 XML 至 JSON 的格式轉換,以及利用呼叫速率限制來限制開發人員傳入的呼叫數量。 如需完整清單,請參閱 API 管理原則。
如果原則不另行指定,則可以在任何 API 管理原則中,使用原則運算式做為屬性值或文字值。 某些原則是以原則運算式為基礎,例如控制流程和設定變數原則。
視您的需求而定,原則可以套用到不同的範圍:全域 (全部 API)、產品、特定 API 或 API 作業。
詳細資訊:
後續步驟
完成下列快速入門,並開始使用 Azure API 管理: