API 金鑰

您正在查看 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 安全性機制。

  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 政策或設有 VerifyAccessToken 作業的 OAuthV2 政策來驗證要求憑證。如果您未在 API Proxy 中加入憑證強制執行政策,任何呼叫端都可以成功叫用您的 API。詳情請參閱「驗證 API 金鑰政策」。

驗證要求憑證

這是總覽,如需詳細資訊和程式碼範例,請務必參閱「設定 API 金鑰驗證」一文。

  1. 如果您使用 OAuth 權杖驗證,且已實作 OAuth 政策進行驗證,且用戶端應用程式已通過 OAuth 權杖:
    • Apigee Edge 會驗證權杖未過期,然後查詢用於產生權杖的用戶端金鑰。
  2. 如果您使用 API 金鑰,表示您已實作 VerifyAPIKey 政策,且用戶端應用程式已傳遞用戶端金鑰:
    1. Apigee Edge 會檢查與用戶端金鑰相關聯的 API 產品清單。
    2. Edge 會檢查各個 API 產品,確認 API 產品是否包含目前的 API Proxy,以及 API 產品中目前的資源路徑 (網址路徑) 是否已啟用。
    3. Edge 也會驗證用戶端金鑰未過期或遭撤銷、檢查應用程式是否未撤銷,並檢查開發人員是否處於停用狀態。
    4. 如果上述所有條件都符合 - 權杖未過期 (如適用)、用戶端金鑰有效且已核准、應用程式已獲核准、開發人員已啟用、產品中可使用 Proxy,且產品中有資源,即表示憑證驗證成功。