您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
什麼是 API 產品?
API 供應商可以建立 API 產品來封裝 API,供應用程式開發人員使用。您可以將 API 產品視為產品系列。
具體而言,API 產品套裝組合如下:
- API 資源 (URI) 集合
- 服務計畫
- 與業務相關的監控或數據分析中繼資料 (選用)
API 產品隨附的 API 資源可以來自一或多個 API,因此您可以混合並比對資源來建立特殊的功能集,如下圖所示。
您可以建立多個 API 產品,滿足特定用途的需求。舉例來說,您可以建立附帶多種對應資源的 API 產品,讓開發人員輕鬆將地圖整合至自己的應用程式中。另外,您也可以在各項 API 產品中設定不同的屬性,例如不同的定價等級。舉例來說,您可能會提供下列 API 產品組合:
- 以實惠價格提供存取限制偏低的 API 產品,例如每日 1,000 個要求。這是第二項 API 產品,可提供相同的資源,但存取權上限和價格較高。
- 免費的 API 產品,提供資源的唯讀存取權。這是第二項 API 產品,提供相同資源的讀取/寫入權限,費用極少。
此外,您也可以在 API 產品中控管 API 資源的存取權。舉例來說,您可以隨附僅限內部開發人員存取的資源,或僅限付費客戶存取。
API 產品是 API 授權與存取權控管的中央機制。Apigee 是佈建 API 金鑰,並非針對 API 本身,而是 API 產品。換句話說,系統會為附加服務方案的資源組合佈建 API 金鑰。
如「註冊應用程式」所述,應用程式開發人員必須註冊應用程式,才能存取您的 API 產品。當應用程式嘗試存取 API 產品時,Apigee 會在執行階段強制執行授權,以確保以下事項:
- 提出要求的應用程式可存取特定 API 資源。
- 要求的應用程式未超出允許配額。
- 定義後,API 產品中定義的 OAuth 範圍,就會與與應用程式提供的存取權杖相關聯的 OAuth 範圍相符。
瞭解重要概念
建立 API 產品前,請先詳閱下列重要概念。
API 金鑰
在貴機構中註冊開發人員的應用程式時,應用程式必須至少與一項 API 產品建立關聯。 將應用程式與一或多個 API 產品配對後,Edge 會為應用程式指派專屬的用戶端金鑰。
用戶端金鑰或存取權杖可做為要求憑證使用。應用程式開發人員將用戶端金鑰嵌入應用程式,因此當應用程式向 Edge 代管的 API 發出要求時,應用程式會透過下列其中一種方式在要求中傳遞用戶端金鑰:
- 當 API 使用 API 金鑰驗證時,應用程式必須直接傳遞用戶端金鑰。
- 當 API 使用 OAuth 憑證驗證時,應用程式必須傳遞用戶端金鑰衍生的憑證。
API 金鑰不會自動強制執行。無論使用用戶端金鑰或 OAuth 權杖做為要求憑證,API Proxy 都會在適當流程中加入 VerifyAPIKey 政策或 OAuth/VerifyAccessToken 政策,在您的 API Proxy 中驗證要求憑證。如果您未在 API Proxy 中加入憑證強制執行政策,任何呼叫端都可以叫用您的 API。詳情請參閱「驗證 API 金鑰政策」一文。
為了驗證要求中傳遞的憑證,Edge 會執行下列步驟:
- 取得隨要求傳送的憑證。如果是 OAuth 權杖驗證,Edge 會驗證權杖未過期,然後查詢用於產生權杖的用戶端金鑰。
- 擷取與消費者金鑰相關聯的 API 產品清單。
- 確認 API 產品包含目前的 API Proxy,且 API 產品中已啟用目前的資源路徑 (網址路徑)。
- 驗證消費者金鑰未過期或遭撤銷、確認應用程式未撤銷,然後確認應用程式開發人員是否已啟用。
如果符合上述所有檢查條件,憑證驗證就會成功。
其實,Edge 會自動產生用戶端金鑰,但 API 發布商必須使用適當政策,在 API Proxy 中強制執行金鑰檢查。
自動與手動核准
根據預設,系統會自動核准所有透過應用程式存取 API 產品的要求。或者,您也可以將 API 產品設定為手動核准金鑰。在此情況下,凡是來自新增 API 產品的應用程式,都必須核准金鑰要求。詳情請參閱「註冊應用程式及管理 API 金鑰」一文。
配額
配額可以保護後端伺服器,藉此維持高流量,讓產品系列脫穎而出。舉例來說,您可能想要將具有高配額的資源組合成付費產品,並搭配基本產品使用配額較低的相同套裝組合。如果產品相當熱門且收到大量要求,配額有助於避免伺服器遭受負擔。
如要瞭解如何設定配額,請參閱配額政策。如要瞭解如何在配額政策中使用產品配額設定,請參閱下列社群文章: API 產品的配額設定如何與 API Proxy 中的配額政策互動?。
OAuth 範圍
如要提升安全性,您可以將任何 OAuth 範圍定義為以逗號分隔的清單,此範圍必須出現在透過產品傳送的存取權杖中。建立產品時,您必須瞭解貴機構使用的所有範圍。您在產品中新增的範圍必須與現有範圍相符,或者產品並不安全。
如要進一步瞭解如何搭配 Edge OAuth 政策使用範圍,請參閱使用 OAuth2 範圍。
存取層級
定義 API 產品時,您可以設定下列存取層級。
存取層級 | 說明 |
---|---|
公開 | 提供給所有開發人員的 API 產品。您可以將這些元件新增至整合性或 Drupal 型開發人員入口網站。 |
私人或僅限內部使用 | 適用於私人或內部使用的 API 產品。 注意:「僅限內部」和「僅限內部」的存取層級沒有功能差異。請選擇最能描述 API 產品目標對象的標籤。 您可以在整合式入口網站中新增私人或僅限內部使用的 API 產品,並視需要讓應用程式開發人員使用。 對於以 Drupal 為基礎的開發人員入口網站,您可以在開發人員入口網站上管理私人或僅限內部 API 產品的存取權,詳情請參閱下列各節:
|