API 金鑰

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

API 金鑰 (在 Apigee Edge 中稱為 consumer key) 是用戶端應用程式傳遞至 API Proxy 的字串值。這個鍵可用來識別用戶端應用程式。

API 金鑰驗證是您可為 API 設定的應用程式安全性最簡單的形式。用戶端應用程式只需在要求中提供 API 金鑰,Apigee Edge 就會檢查 API 金鑰是否處於所要求資源的核准狀態。在內部,您的 Proxy 會使用政策驗證 API 金鑰的真實性。

為了支援這種簡單的做法,您需要進行一些設定。如要支援 API 金鑰,您必須:

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

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

  • 在 Proxy (您在 API 產品中加入的 Proxy) 中新增政策,以驗證傳入的 API 金鑰是否有效。

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

API 金鑰的運作方式

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

大致步驟

以下步驟說明 Apigee Edge 如何使用 API 金鑰。這些步驟也可能包含 OAuth 安全性,因為 OAuth 通常會與 API 金鑰搭配使用。

  1. 建立 API 產品,其中包含應使用 API 金鑰保護的 API Proxy。
  2. 您在貴機構中註冊開發人員應用程式。這麼做時,Apigee Edge 會產生消費者金鑰和消費者密鑰。
  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 Edge 會驗證權杖未過期,然後查詢用於產生權杖的消費者金鑰。
  2. 如果您使用的是 API 金鑰,表示您已實作 VerifyAPIKey 政策,且用戶端應用程式已傳遞其消費者金鑰:
    1. Apigee Edge 會檢查消費者金鑰已連結的 API 產品清單。
    2. Edge 會檢查每個 API 產品,查看目前的 API Proxy 是否包含在 API 產品中,以及目前的資源路徑 (網址路徑) 是否已在 API 產品中啟用。
    3. Edge 也會驗證消費者金鑰未過期或遭到撤銷、檢查應用程式未遭撤銷,以及檢查開發人員是否處於非活動狀態。
    4. 如果上述所有條件都符合 (符記未過期 (如適用)、消費者金鑰有效且已核准、應用程式已核准、開發人員處於活動狀態、產品中提供 Proxy,且產品提供資源),憑證驗證就會成功。