您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
API 金鑰 (在 Apigee Edge 中稱為「用戶端金鑰」) 是由用戶端應用程式傳送至 API Proxy 的字串值。這個金鑰可明確識別用戶端應用程式。
API 金鑰驗證是最簡單的應用程式安全防護機制,您可以為 API 進行設定。用戶端應用程式只在要求中顯示 API 金鑰,接著 Apigee Edge 會檢查 API 金鑰是否處於所要求資源的已核准狀態。Proxy 會在內部使用政策來驗證 API 金鑰的真實性。
如要簡化這項流程,您必須先進行一些設定。如要支援 API 金鑰,您必須:
- 建立 Apigee Edge API 產品,將您要使用 API 金鑰保護的 API Proxy 組合成套裝組合。
-
建立 Apigee Edge 開發人員應用程式,代表您要驗證其應用程式的用戶端應用程式開發人員。
建立開發人員應用程式時,您可以指定開發人員應用程式可以存取的 API 產品,並為這些產品提供 API 金鑰。
- 如要驗證 Proxy (您在 API 產品中包含的 Proxy),請新增政策,驗證收到的 API 金鑰是否有效。
「要求 API 金鑰來保護 API」教學課程可讓您快速瞭解如何使用 API 金鑰控管 API Proxy 的存取權。
API 金鑰的運作方式
在 Apigee Edge 中,API 金鑰稱為用戶端金鑰。當您註冊開發人員應用程式時,Apigee Edge 會產生用戶端金鑰和密鑰。Apigee Edge 會儲存用戶端金鑰以供日後驗證使用。機構中的每個用戶端金鑰都是獨一無二的。應用程式開發人員會將用戶端金鑰嵌入用戶端應用程式。用戶端應用程式必須為每項要求提供用戶端金鑰。API 服務會在允許應用程式的要求之前驗證用戶端金鑰。
概略步驟
下列步驟說明 Apigee Edge 如何使用 API 金鑰。由於這些步驟通常會搭配 API 金鑰使用,因此這些步驟也包括可能採用 OAuth 安全性機制。
- 建立 API 產品,並加入應受 API 金鑰保護的 API Proxy。
- 您可以在貴機構中註冊開發人員應用程式。Apigee Edge 會產生用戶端金鑰和用戶端密鑰。
- 將開發人員應用程式與至少一項 API 產品建立關聯。這項產品可將資源路徑和 API Proxy 與金鑰核准建立關聯。
- 在執行階段,用戶端應用程式向您的 API 發出要求時,用戶端應用程式會在提出要求時傳送用戶端金鑰。在實際操作上,用戶端金鑰可以明確傳遞,或是以 OAuth 權杖隱含參照:
- 當 API 使用 API 金鑰驗證機制 (例如實作 VerifyAPIKey 政策) 時,用戶端應用程式必須明確傳遞用戶端金鑰。
- 當 API 使用 OAuth 憑證驗證時 (例如實作 OAuthV2 政策),用戶端應用程式必須傳遞衍生自用戶端金鑰的憑證。
- API Proxy 會透過 VerifyAPIKey 政策或設有 VerifyAccessToken 作業的 OAuthV2 政策來驗證要求憑證。如果您未在 API Proxy 中加入憑證強制執行政策,任何呼叫端都可以成功叫用您的 API。詳情請參閱「驗證 API 金鑰政策」。
驗證要求憑證
這是總覽,如需詳細資訊和程式碼範例,請務必參閱「設定 API 金鑰驗證」一文。
- 如果您使用 OAuth 權杖驗證,且已實作 OAuth 政策進行驗證,且用戶端應用程式已通過 OAuth 權杖:
- Apigee Edge 會驗證權杖未過期,然後查詢用於產生權杖的用戶端金鑰。
- 如果您使用 API 金鑰,表示您已實作 VerifyAPIKey 政策,且用戶端應用程式已傳遞用戶端金鑰:
- Apigee Edge 會檢查與用戶端金鑰相關聯的 API 產品清單。
- Edge 會檢查各個 API 產品,確認 API 產品是否包含目前的 API Proxy,以及 API 產品中目前的資源路徑 (網址路徑) 是否已啟用。
- Edge 也會驗證用戶端金鑰未過期或遭撤銷、檢查應用程式是否未撤銷,並檢查開發人員是否處於停用狀態。
- 如果上述所有條件都符合 - 權杖未過期 (如適用)、用戶端金鑰有效且已核准、應用程式已獲核准、開發人員已啟用、產品中可使用 Proxy,且產品中有資源,即表示憑證驗證成功。