API 產品簡介

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

以下各節將介紹 API 產品和相關概念,例如配額和 API 金鑰。

什麼是 API 產品?

API 供應商會建立 API 產品來組合 API,並供應用程式開發人員使用。您可以將 API 產品視為產品線。

具體來說,API 產品會將一或多項作業綁在一起。作業會指定 API Proxy 和可透過該 Proxy 存取的資源路徑。作業也可以依據 HTTP 方法和配額限制存取權。

API 產品是控管 API 存取權的主要機制。在開發人員應用程式中定義一或多項 API 產品,即可使用 API 金鑰限制 Proxy 的存取權。在 Apigee 中,API 金鑰是為 API 產品而非 API 本身佈建。換句話說,API 金鑰是為定義產品線或特定服務方案的作業組合所佈建。

常見用途

您可以建立多個 API 產品,其中包含可滿足特定用途的作業。 舉例來說,您可以建立 API 產品,其中包含多項含有對應資源的操作,方便開發人員輕鬆將地圖整合至應用程式。

此外,您可以使用 API 產品,根據下列條件定義價格等級:

要求數量:

  • Premium:每日要求數無上限
  • 基本:每天最多 1,000 個要求
  • 免費:每天最多 100 個要求

或存取層級:

  • 進階版:讀取、寫入、更新及刪除
  • 基本:讀取及更新
  • 免費:唯讀

或上述任一組合:

  • Extra Premium:每天無限次讀取和寫入
  • 進階版:每天最多可讀取及寫入 1,000 個要求
  • 基本:每天最多可讀取和寫入 100 次
  • 免費:每天最多可讀取 1000 次
  • 免費:唯讀存取權,每日最多 100 個要求

需求條件

即付即用 API 產品必須包含:

作業

作業是一組屬性,可根據資源路徑、HTTP 方法和配額等條件,限制對一或多個 API Proxy 的存取權。作業包含下列屬性:

屬性 是否必要 說明
API Proxy 必填 每個作業群組都必須指定 API Proxy。每個作業群組只能有一個 Proxy。
遠端服務 視情況而定 如果您安裝並打算使用 Apigee Adapter for Envoy,則必須執行這項操作。
資源路徑 必填 每個作業群組都必須指定一或多個資源路徑。作業中的資源路徑會限制對 API Proxy 上特定資源的存取權。(資源路徑是 API Proxy 要求網址的一部分,位於 Proxy 基礎路徑之後)。
HTTP 方法 選用 您也可以依 HTTP 方法限制 Proxy 存取權。舉例來說,如果您為作業群組指定 GETPOST 方法,則只有 HTTP GETPOST 要求可以存取指定資源路徑的 Proxy。如果未指定方法,則允許所有方法。
配額 選用 您可以為作業群組指定配額。如果作業群組中指定了配額,則該配額會優先於 API 產品層級配額。
自訂屬性 選用 自訂屬性適用於指標、監控,或您想在 API 產品中儲存額外資訊,以便日後存取或擷取的情況。除了 API 產品層級的自訂屬性外,作業也會有相關聯的自訂屬性,且可在執行階段以 apiproduct.operation.attributes 前置字元做為流程變數存取。

API 金鑰

在機構中註冊開發人員的應用程式時,應用程式必須與至少一項 API 產品建立關聯。將應用程式與一或多個 API 產品配對後,Apigee 會為應用程式指派專屬的消費者金鑰。另請參閱「註冊應用程式來控管 API 存取權」。

消費者金鑰或存取權杖會做為要求憑證。應用程式開發人員會將消費者金鑰嵌入應用程式,因此當應用程式向 Apigee 託管的 API 發出要求時,應用程式會透過下列其中一種方式,在要求中傳遞消費者金鑰:

  • 如果 API 使用 API 金鑰驗證,應用程式必須直接傳遞消費者金鑰。
  • 如果 API 使用 OAuth 權杖驗證,應用程式必須傳遞從消費者金鑰衍生的權杖。

系統不會自動強制執行 API 金鑰。無論是使用消費者金鑰或 OAuth 權杖做為要求憑證,API Proxy 都會在 API Proxy 中加入 VerifyAPIKey 政策VerifyAccessToken 政策設定 (請參閱 OAuthv2 政策),在適當流程中驗證要求憑證。如果您未在 API Proxy 中加入憑證強制執行政策,任何呼叫端都能叫用 API。

為驗證要求中傳遞的憑證,Apigee 會執行下列步驟:

  1. 取得隨要求傳遞的憑證。如果是 OAuth 權杖驗證, Apigee 會驗證權杖是否過期,然後查閱用於產生權杖的消費者金鑰。
  2. 擷取與消費者金鑰相關聯的 API 產品清單。
  3. 確認目前的 API Proxy 是否包含在 API 產品中,以及目前的資源路徑 (網址路徑) 是否已在 API 產品中啟用,如果包含在產品中,請確認要求使用指定的 HTTP 動詞。
  4. 確認未超過指定配額。
  5. 確認消費者金鑰未過期或遭撤銷、應用程式未遭撤銷,以及應用程式開發人員是否仍為有效帳戶。

如果上述所有檢查都通過,憑證驗證就會成功。

總而言之,Apigee 會自動產生消費者金鑰,但 API 發布者必須使用適當的政策,在 API 代理中強制執行金鑰檢查。

金鑰核准

根據預設,系統會自動核准所有要求,允許應用程式取得金鑰來存取 API 產品。或者,您也可以設定 API 產品,手動核准金鑰。如要瞭解這項設定,請參閱「管理 API 產品」。在這種情況下,您必須核准任何新增 API 產品的應用程式提出的金鑰要求。詳情請參閱「註冊應用程式來控管 API 存取權」。

配額

配額可保護後端伺服器免於流量大幅變動,並區分產品線。舉例來說,您可以將配額較高的資源組合包裝成進階產品,並將配額較低的相同組合包裝成基本產品。如果產品熱銷,且在短時間內收到大量要求,配額有助於保護伺服器,避免過載。

您可以指定適用於 API 產品中所有 API Proxy 的配額,也可以指定作業層級的配額。作業中指定的配額優先於 API 產品層級設定的配額。

在 API 產品上設定配額限制不會自動強制執行配額。這只是配額政策中可參考的預設限制。 為配額政策參照的產品設定配額,有以下優點:

  • 使用配額政策,在 API 產品的所有 API Proxy 中套用一致的設定。
  • 如果在執行階段變更 API 產品的配額設定,配額政策會自動參照更新後的配額設定。

如要瞭解詳情,請參考下列資源:

個 OAuth 範圍

您可以將 OAuth 範圍定義為逗號分隔清單,且必須出現在與產品相關聯的存取權杖中。如要進一步瞭解如何搭配使用範圍與 Apigee OAuth 政策,請參閱「使用 OAuth2 範圍」。

存取層級

定義 API 產品時,您可以設定下列存取層級:

存取層級 說明
Public 所有開發人員都能使用的 API 產品。您可以將這些內容新增至整合式或以 Drupal 為基礎的開發人員入口網站。
PrivateInternal only 專為私人或內部用途設計的 API 產品。

如果是整合式入口網站,您可以視需要新增 PrivateInternal only API 產品,並提供給應用程式開發人員。

如果是以 Drupal 為基礎的開發人員入口網站,您可以管理開發人員入口網站上 PrivateInternal only API 產品的存取權,詳情請參閱下列章節:

  • 如果是 Drupal 10 開發人員入口網站,您可以設定開發人員入口網站上 PrivateInternal only API 產品的存取權,詳情請參閱「設定 API 產品的存取權限」。
  • 如果是 Drupal 7 開發人員入口網站,您無法將 PrivateInternal only API 產品新增至開發人員入口網站。

    如要讓應用程式開發人員使用 PrivateInternal only API 產品,您必須透過 Apigee UI 或 API,手動將這些產品新增至已註冊的應用程式,詳情請參閱「註冊應用程式來控管 API 存取權」。

    新增後,開發人員會在入口網站中看到與應用程式相關聯的 API 產品,如「管理應用程式中的 API 產品」一文所述。如果應用程式開發人員停用 PrivateInternal only 的 API 產品存取權,該 API 產品會從應用程式中移除,且必須由入口網站管理員手動重新新增。