您正在查看 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 金鑰搭配使用。
- 建立 API 產品,其中包含應使用 API 金鑰保護的 API Proxy。
- 您在貴機構中註冊開發人員應用程式。這麼做時,Apigee Edge 會產生消費者金鑰和消費者密鑰。
- 將開發人員應用程式與至少一個 API 產品建立關聯。這是將資源路徑和 API Proxy 與金鑰核准作業建立關聯的產品。
- 在執行階段,當用戶端應用程式向您的 API 提出要求時,用戶端應用程式會在提出要求時傳送使用者金鑰。實際上,您可以明確傳遞消費者金鑰,也可以透過 OAuth 權杖間接參照:
- 如果 API 使用 API 金鑰驗證 (例如實作 VerifyAPIKey 政策),用戶端應用程式就必須明確傳遞消費者金鑰。
- 當 API 使用 OAuth 權杖驗證 (例如實作 OAuthV2 政策) 時,用戶端應用程式必須傳遞已衍生自消費者金鑰的權杖。
- API Proxy 會透過 VerifyAPIKey 政策或 OAuthV2 政策 (含有 VerifyAccessToken 作業) 驗證要求憑證。如果您未在 API Proxy 中加入憑證強制執行政策,任何呼叫端都能成功叫用您的 API。詳情請參閱「驗證 API 金鑰政策」。
驗證要求憑證
以下是概略說明。請務必參閱「設定 API 金鑰驗證」一文,瞭解詳細資訊和程式碼範例。
- 如果您使用 OAuth 權杖驗證,也就是已實作 OAuth 政策來驗證,且用戶端應用程式已傳送 OAuth 權杖:
- Apigee Edge 會驗證權杖未過期,然後查詢用於產生權杖的消費者金鑰。
- 如果您使用的是 API 金鑰,表示您已實作 VerifyAPIKey 政策,且用戶端應用程式已傳遞其消費者金鑰:
- Apigee Edge 會檢查消費者金鑰已連結的 API 產品清單。
- Edge 會檢查每個 API 產品,查看目前的 API Proxy 是否包含在 API 產品中,以及目前的資源路徑 (網址路徑) 是否已在 API 產品中啟用。
- Edge 也會驗證消費者金鑰未過期或遭到撤銷、檢查應用程式未遭撤銷,以及檢查開發人員是否處於非活動狀態。
- 如果上述所有條件都符合 (符記未過期 (如適用)、消費者金鑰有效且已核准、應用程式已核准、開發人員處於活動狀態、產品中提供 Proxy,且產品提供資源),憑證驗證就會成功。