API 金鑰

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

API 金鑰 (在 Apigee 中稱為消費者金鑰) 是用戶端應用程式傳遞至 API Proxy 的字串值。這個金鑰可做為用戶端應用程式的專屬 ID。

API 金鑰驗證是您可以為 API 設定的最簡單應用程式安全機制。用戶端應用程式只要在要求中提供 API 金鑰,Apigee 就會檢查該 API 金鑰是否已獲准存取所要求資源。在內部,您的 Proxy 會使用政策驗證 API 金鑰的真實性。

如要支援這項簡化功能,您需要進行一些設定。如要支援 API 金鑰,請完成下列步驟:

  • 建立 Apigee API 產品,將要使用 API 金鑰保護的 API Proxy 組合在一起。
  • 建立 Apigee 開發人員應用程式,代表您要驗證應用程式的用戶端應用程式開發人員。

    建立開發人員應用程式時,您會指定開發人員應用程式可存取的 API 產品,以及需要提供 API 金鑰的產品。

  • 對您在 API 產品中加入的 Proxy 新增政策,確認傳入的 API 金鑰是否有效。

如要快速瞭解如何使用 API 金鑰控管 API Proxy 的存取權,請參閱透過要求 API 金鑰保護 API 教學課程。

API 金鑰的運作方式

在 Apigee 中,API 金鑰稱為消費者金鑰。註冊開發人員應用程式時,Apigee 會產生用戶端金鑰和密鑰。Apigee 會儲存消費者金鑰,供日後驗證。每個消費者金鑰在機構中都是獨一無二。應用程式開發人員會在用戶端應用程式中嵌入消費者金鑰。用戶端應用程式必須為每項要求提供消費者金鑰。API 服務會先驗證消費者金鑰,再允許應用程式提出要求。

高階步驟

以下步驟說明 Apigee 如何使用 API 金鑰。這些步驟也包括 OAuth 安全性可能存在的情況,因為 OAuth 安全性通常會與 API 金鑰一併使用。

  1. 建立 API 產品,其中包含應以 API 金鑰保護的 API Proxy。
  2. 在貴機構中註冊開發人員應用程式。Apigee 會產生用戶端金鑰和密鑰。
  3. 將開發人員應用程式與至少一項 API 產品建立關聯。這個產品會將資源路徑和 API Proxy 與金鑰核准建立關聯。
  4. 在執行階段,當用戶端應用程式向您的 API 提出要求時,用戶端應用程式會在提出要求時傳送消費者金鑰。在實務上,用戶端金鑰可能會明確傳遞,也可能透過 OAuth 權杖隱含參照:
    • 如果 API 使用 API 金鑰驗證 (例如實作 VerifyAPIKey 政策),用戶端應用程式就必須明確傳遞消費者金鑰。
    • 如果 API 使用 OAuth 權杖驗證 (例如實作 OAuthV2 政策),用戶端應用程式就必須傳遞衍生自消費者金鑰的權杖。
  5. API Proxy 會透過 VerifyAPIKey 政策或 OAuthV2 政策 (搭配 VerifyAccessToken 作業) 驗證要求憑證。如果您未在 API Proxy 中加入憑證強制執行政策,任何呼叫端都能成功叫用 API。詳情請參閱「驗證 API 金鑰政策」。

驗證要求憑證

以下是概要說明。請務必參閱「設定 API 金鑰驗證」一文,瞭解詳情和程式碼範例。

  1. 如果您使用 OAuth 權杖驗證,也就是已實作 OAuth 政策來驗證,且用戶端應用程式已傳遞 OAuth 權杖:
    • Apigee 會驗證權杖是否過期,然後查閱用於產生權杖的消費者金鑰。
  2. 如果您使用 API 金鑰,且已實作 VerifyAPIKey 政策,而用戶端應用程式已傳遞其消費者金鑰:
    1. Apigee 會檢查與消費者金鑰相關聯的 API 產品清單。
    2. Apigee 會檢查每個 API 產品,確認目前的 API Proxy 是否包含在 API 產品中,以及目前的資源路徑 (網址路徑) 是否已在 API 產品中啟用。
    3. Apigee 也會驗證消費者金鑰是否過期或遭撤銷、檢查應用程式是否遭撤銷,以及檢查開發人員是否處於非使用中狀態。
    4. 如果上述所有條件都成立 (符記未過期 (如適用)、消費者金鑰有效且已獲准、應用程式已獲准、開發人員處於有效狀態、產品提供 Proxy,且產品提供資源),憑證驗證就會成功。