API管理(APIM)是一種為現(xiàn)有后端服務(wù)創(chuàng)建一致且現(xiàn)代化的API網(wǎng)關(guān)的方法。
API管理有助于組織將API發(fā)布給外部、合作伙伴和內(nèi)部開發(fā)人員,以充分發(fā)揮其數(shù)據(jù)和服務(wù)的潛力。所有企業(yè)都想要作為數(shù)字平臺擴大其運營、創(chuàng)建新渠道、查找新客戶和深化與現(xiàn)有的契合。API管理通過開發(fā)人員參與、商業(yè)洞察力、分析、安全性和保護提供了核心競爭力以確保成功的API程序??梢允褂肁zure API管理處理任何后端,并基于它發(fā)布正式的API程序。
本文概述了涉及APIM的常用方案,并簡單介紹了APIM系統(tǒng)的主要組件,然后較詳細(xì)地介紹了每個組件。
概述
要使用API管理,管理員需要創(chuàng)建API。每個API包括一個或多個操作,并可以將每個API添加到一個或多個產(chǎn)品。要使用的API,開發(fā)人員需要訂閱包含該API的產(chǎn)品,它們可以調(diào)用該API的操作,根據(jù)任何可能生效的使用情況策略。常見方案包括:
保護移動基礎(chǔ)結(jié)構(gòu)通過使用API密鑰控制訪問,使用限制或使用高級安全策略(如JWT令牌驗證)阻止DOS攻擊。
啟用ISV合作伙伴生態(tài)系統(tǒng)通過開發(fā)人員門戶提供快速的合作伙伴加入,并構(gòu)建API外觀使其與未準(zhǔn)備好供合作伙伴使用的內(nèi)部實現(xiàn)分離。
運行內(nèi)部的API程序通過為組織提供一個集中位置來交流API的可用性和最新更改,基于組織帳戶控制訪問,所有這一切都基于API網(wǎng)關(guān)與后端之間的安全通道。
系統(tǒng)由以下組件組成:
API網(wǎng)關(guān)是具有以下功能的終結(jié)點:
接受API調(diào)用,并將調(diào)用路由到后端。
驗證API密鑰、JWT令牌、證書和其他憑據(jù)。
強制使用配額和速率限制。
無需修改代碼即可隨時轉(zhuǎn)換API。
在設(shè)置的位置緩存后端響應(yīng)。
記錄調(diào)用元數(shù)據(jù)以用于分析。
Azure門戶是一個管理界面,可以在其中設(shè)置API程序。使用它可執(zhí)行以下操作:
定義或?qū)階PI架構(gòu)。
將API打包到產(chǎn)品中。
設(shè)置策略,如API的配額或轉(zhuǎn)換。
從分析中獲得見解。
管理用戶。
開發(fā)人員門戶是面向開發(fā)人員的主要Web平臺,可以在其中執(zhí)行以下操作:
閱讀API文檔。
通過交互式控制臺試用API。
創(chuàng)建帳戶并可以訂閱以獲取API密鑰。
訪問他們自己的使用情況分析。
有關(guān)詳細(xì)信息,請參閱PDF版的基于云的API管理:利用API的強大功能白皮書。由CITO Research編撰的有關(guān)API管理的簡介白皮書包括︰
常見API需求和挑戰(zhàn)
分離API和呈現(xiàn)外觀
使開發(fā)人員快速啟動并運行
保護訪問權(quán)限
分析和度量值
控制并深入了解API管理平臺
云解決方案與本地解決方案使用對比
Azure API管理
API和操作
API是API管理服務(wù)實例的基礎(chǔ)。每個API表示一組可供開發(fā)人員使用的操作。每個API包含對實施API的后端服務(wù)的引用,而其操作映射到后端服務(wù)實施的操作。API管理中的操作高度可配置,可控制URL映射、查詢和路徑參數(shù)、請求和響應(yīng)內(nèi)容以及操作響應(yīng)緩存。速率限制、配額和IP限制策略還可以在API或單個操作級別實施。
有關(guān)詳細(xì)信息,請參閱如何創(chuàng)建API和如何將操作添加到API。
產(chǎn)品
產(chǎn)品是如何將API提供給開發(fā)人員。API管理中的產(chǎn)品有一個或多個API,并且配置為包含一個標(biāo)題、說明和使用條款。產(chǎn)品可以公開或受保護。必須先訂閱受保護的產(chǎn)品,才能使用它們,但公開的產(chǎn)品無需訂閱即可使用。產(chǎn)品可以供開發(fā)人員使用時,就會發(fā)布。產(chǎn)品一旦發(fā)布,開發(fā)人員就可以查看(如果是受保護的產(chǎn)品,應(yīng)先進行訂閱)。在產(chǎn)品級別配置訂閱批準(zhǔn),也可由管理員批準(zhǔn)或被自動批準(zhǔn)。
組用于管理產(chǎn)品對開發(fā)人員的可見性。產(chǎn)品向組授予可見性,并且開發(fā)人員可以查看和訂閱對他們所屬的組可見的產(chǎn)品。
組
組用于管理產(chǎn)品對開發(fā)人員的可見性。API管理具有下列不可變的系統(tǒng)組:
管理員-Azure訂閱管理員是此組的成員。管理員管理API管理服務(wù)實例、創(chuàng)建API、操作,以及開發(fā)人員所使用的產(chǎn)品。
開發(fā)人員-已經(jīng)過身份驗證的開發(fā)人員門戶用戶屬于此組。開發(fā)人員是使用API構(gòu)建應(yīng)用程序的客戶。開發(fā)人員有權(quán)訪問開發(fā)人員門戶,并構(gòu)建調(diào)用API操作的應(yīng)用程序。
來賓-未經(jīng)身份驗證的開發(fā)人員門戶用戶,如訪問此組中API管理實例的開發(fā)人員門戶的潛在客戶。它們可以被授予某些只讀訪問權(quán)限,如能夠查看API,但不能調(diào)用它們。
除了這些系統(tǒng)組,管理員還可以創(chuàng)建自定義組或利用關(guān)聯(lián)Azure Active Directory租戶中的外部組。自定義組和外部組可與系統(tǒng)組一起使用為開發(fā)人員提供可見性并可以訪問API產(chǎn)品。例如,可以為隸屬于一個特定合作伙伴組織的開發(fā)人員創(chuàng)建一個自定義組并允許他們從僅包含相關(guān)API的產(chǎn)品中訪問API。用戶可以是多個組的成員。
開發(fā)人員
開發(fā)人員表示API管理服務(wù)實例中的用戶帳戶。管理員可以創(chuàng)建或邀請開發(fā)人員加入,或他們可以從“開發(fā)人員門戶”注冊。每個開發(fā)人員是一個或多個組的成員,并且可以訂閱授予這些組的可見性的產(chǎn)品。
當(dāng)開發(fā)人員訂閱某個產(chǎn)品時,會向其授予該產(chǎn)品的主密鑰和輔助密鑰。在調(diào)用產(chǎn)品的API時使用此鍵。
有關(guān)詳細(xì)信息,請參閱如何創(chuàng)建或邀請開發(fā)人員和如何將組與開發(fā)人員關(guān)聯(lián)。
策略
策略是API管理的一項強大功能,允許Azure門戶通過配置更改API的行為。策略是一組語句,在請求或API的響應(yīng)時按順序執(zhí)行。流行的語句包含XML格式轉(zhuǎn)換為JSON和調(diào)用速率限制,以限制從開發(fā)人員傳入的呼叫數(shù),還有許多其他策略可用。
在任何API管理策略中,策略表達式可以用作屬性值或文本值,除非該策略另外指定。某些策略(如控制流和設(shè)置變量策略)基于策略表達式。有關(guān)詳細(xì)信息,請參閱高級策略和策略表達式。
有關(guān)API管理策略的完整列表,請參閱策略參考。有關(guān)使用和配置策略的詳細(xì)信息,請參閱API管理策略。有關(guān)使用速率限制和配額策略創(chuàng)建產(chǎn)品的教程,請參閱如何創(chuàng)建和配置高級產(chǎn)品設(shè)置。
開發(fā)人員門戶
開發(fā)人員門戶是開發(fā)人員可以了解API、視圖和調(diào)用操作以及訂閱產(chǎn)品的位置。潛在客戶可以訪問開發(fā)人員門戶,查看API和操作并注冊。開發(fā)人員門戶的URL位于API管理服務(wù)實例的Azure門戶中的儀表板上。
可以通過添加自定義內(nèi)容、自定義樣式并添加品牌定制開發(fā)人員門戶的外觀。