您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
API 金鑰 (在 Apigee Edge 中稱為用戶端金鑰) 是用戶端應用程式傳遞至 API Proxy 的字串值。這個金鑰是客戶應用程式的專屬 ID。
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,以及產品提供資源,憑證驗證就會成功。