API 產品簡介

本頁適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

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

什麼是 API 產品?

身為 API 供應商,您會建立 API 產品來將 API 打包,並供應用程式開發人員使用。您可以將 API 產品視為產品系列。

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

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

常見用途

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

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

要求數量:

  • Premium:每日要求次數不限
  • 基本版:每日最多 1,000 個要求
  • 免費:每日最多 100 個要求

或存取層級:

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

或上述任一組合:

  • 額外 Premium:每日讀取和寫入次數無上限
  • Premium:每日最多可提出 1,000 次讀取和寫入要求
  • 基本:讀取和寫入存取權,每天最多 100 次
  • 免費:每天最多可讀取 1000 次
  • 免費:唯讀存取權,每日最多 100 個要求

需求條件

即付即用方案的 API 產品必須包含:

作業

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

屬性 是否必要 說明
API Proxy 必填 每個作業群組都必須指定 API 代理程式。每個作業群組只能有一個 Proxy。
遠端服務 視情況而定 只有在您安裝並打算使用 Envoy 的 Apigee 轉接器時,才需要使用。
資源路徑 必填 每個作業群組都必須指定一或多個資源路徑。作業中的資源路徑會限制 API proxy 上的特定資源存取權。(資源路徑是 API 代理要求網址的一部分,位於代理程式基礎路徑之後)。
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 代理程式都會在適當的流程中加入 VerifyAPIKey 政策VerifyAccessToken 政策設定 (請參閱 OAuthv2 政策),藉此驗證 API 代理程式中的要求憑證。如果您未在 API Proxy 中加入憑證強制執行政策,任何呼叫端都能叫用您的 API。

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

  1. 取得透過要求傳遞的憑證。在 OAuth 權杖驗證的情況下,Apigee 會驗證權杖未過期,然後查詢用於產生權杖的用戶端金鑰。
  2. 擷取消費者金鑰已連結的 API 產品清單。
  3. 如果 API 產品已啟用目前的資源路徑 (網址路徑),請確認目前的 API Proxy 已納入 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 產品就會從應用程式中移除,且必須由入口網站管理員手動重新新增。