查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
什麼是 API 產品?
API 供應商可建立 API 產品來組合 API 提供給應用程式開發人員使用您可以將 API 產品視為您的產品系列。
具體來說,一個 API 產品套裝組合包含下列內容:
- API 資源 (URI) 集合
- 服務計畫
- 商家專屬的監控或分析中繼資料 (選用)
API 產品封裝的 API 資源可能來自一或多個 API,因此您可以自由搭配 建立特殊功能集,如下圖所示。
您可以建立多個 API 產品,處理符合特定需求的用途。 舉例來說,您可以建立 API 產品,將多項對應資源繫結至 方便開發人員將地圖整合到自己的應用程式中。 此外,你也可以為每個 API 產品設定不同的屬性,例如不同的定價 級別。舉例來說,您可能提供下列 API 產品組合:
- 以實惠價格提供低存取上限的 API 產品 (例如每天 1000 個要求)。第二種 API 產品,可用來存取相同資源,但存取權限制較高,價格也較高。
- 免費的 API 產品,提供資源唯讀存取權。第二項 API 產品,只收取少許費用,就能讀取/寫入相同資源。
此外,您也可以控管 API 產品中 API 資源的存取權。舉例來說,您可以將 資源僅供內部開發人員存取,或僅限付費客戶存取。
API 產品是 API 授權和存取權控管的核心機制。Apigee 的佈建是 API 金鑰,不適用於 API 本身,僅適用於 API 產品。也就是 API 系統為包含附加服務方案的資源套裝組合佈建金鑰。
應用程式開發人員會按照「註冊應用程式」一節所述的方式,註冊自己的應用程式來存取 API 產品。應用程式嘗試存取 API 產品時,Apigee 會在執行階段強制執行授權,以確保下列事項:
- 要求的應用程式可以存取特定 API 資源。
- 提出要求的應用程式已超出允許的配額。
- 定義後,API 產品中定義的 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 Proxy 包含在 API 產品中,以及 資源路徑 (網址路徑) 已在 API 產品上啟用。
- 請確認用戶端金鑰未過期或遭到撤銷,請確認應用程式未撤銷。 ,檢查應用程式開發人員是否處於有效狀態。
如果通過上述所有檢查,憑證驗證作業即可成功。
重點在於,Edge 會自動產生用戶端金鑰,但 API 發布者必須 使用適當的政策,在 API Proxy 中強制執行金鑰檢查。
自動與手動 核准
根據預設,所有透過應用程式取得金鑰來存取金鑰的要求,都會自動獲得核准。此外,也可以 將 API 產品設定為手動核准金鑰。在此情況下,您必須核准任何新增應用程式發出的金鑰要求 與 API 產品有關詳情請參閱「註冊應用程式及管理 API 金鑰。
配額
配額可以保護後端伺服器的高流量,並區分您的產品系列。 舉例來說,您可以將具有高配額的資源組合為付費產品,並使用 和基本產品一樣,但配額較低配額有助於避免伺服器 如果產品很受歡迎 而且收到大量要求
如要瞭解如何設定配額,請參閱配額政策相關說明。如需深入瞭解 在配額政策中使用產品配額設定,請參閱下列社群文章 API 產品的配額設定如何與 API Proxy 中的配額政策互動?
OAuth 範圍
您可運用逗號分隔清單的形式,定義任何 OAuth 範圍,進一步提高安全性。 這個符記必須出現在透過產品傳送的存取權杖中。建立產品時 您需要瞭解貴機構使用的所有範圍。你在產品中新增的範圍 必須符合現有範圍,或是產品並不安全。
如要進一步瞭解如何搭配 Edge OAuth 政策使用範圍,請參閱「使用 OAuth2 範圍」。
存取層級
定義 API 產品時,您可以設定下列存取層級。
存取層級 | 說明 |
---|---|
公開 | 所有開發人員都能存取的 API 產品您可以將這些機制新增至已整合或以 Drupal 為基礎的開發人員入口網站。 |
私人或僅限內部使用 | 專為私人或內部使用的 API 產品。 注意:「私人」和「僅限內部」的存取層級沒有功能差異。選擇最符合 API 產品目標對象的標籤。 在整合式入口網站中,您可以新增私人或僅限內部使用的 API 產品,並視需要提供給應用程式開發人員。 如果您使用 Drupal 的開發人員入口網站,可以在開發人員入口網站上管理私人或內部專用 API 產品的存取權,詳情請參閱以下各節:
|