API Gateway 中其餘 API 的使用計劃和 API 金鑰 - Amazon API Gateway

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

API Gateway 中其餘 API 的使用計劃和 API 金鑰

在您建立、測試和部署 API 之後,您可以使用 API Gateway 用量計劃讓它們可做為產品優惠供給客戶使用。您可以設定用量計劃和 API 金鑰,以便客戶存取選取的 API,並根據定義的限制和配額來調節傳送給這些 API 的請求量。您可在 API 或 API 方法層級進行設定這些內容。

什麼是用量計劃和 API 金鑰?

用量計劃會指定誰能存取一個或多個已部署 API 階段和方法,也可以設定目標請求率來開始調節請求量。計劃會使用 API 金鑰來識別 API 用戶端,以及每個金鑰的相關 API 階段可存取者。

API 金鑰是英數字串值,您會將其發佈到應用程式開發人員客戶,以授與您 API 的存取權。您可以將 Lambda 授權方IAM 角色Amazon Cognito 與 API 金鑰搭配使用,來控制對 API 的存取。API Gateway 可以代表您產生 API 金鑰,或從 CSV 檔案匯入它們。您可以在 API Gateway 中產生 API 金鑰,或從外部來源將它匯入 API Gateway。如需詳細資訊,請參閱使用 API Gateway 主控台設定 API 金鑰

API 金鑰具有名稱和數值。(術語「API 金鑰」與「API 金鑰值」經常可以交換使用。) 名稱不能超過 1024 個字元。金鑰值是介於 20 與 128 個字元之間的英數字串,例如,apikey1234abcdefghij0123456789

重要

API 金鑰值必須是唯一的。如果您嘗試建立兩個名稱不同但數值相同的 API 金鑰,API Gateway 會將它們視為相同的 API 金鑰。

API 金鑰可以關聯到多個用量計劃。用量計劃可以關聯到多個階段。不過,特定 API 金鑰只能與每個 API 階段的一個用量計劃相關聯。

調節限制即為開始進行請求調節應的目標點。您可在 API 或 API 方法層級進行設定。

配額限制即為使用特定 API 金鑰在指定時間間隔內可以提交的目標請求量上限。您可以設定個別的 API 方法根據用量計劃組態來要求 API 金鑰授權。

調節和配額限制適用於在用量計劃中跨所有 API 階段彙總之個別 API 金鑰的請求。

注意

用量計劃調節和配額並非硬性限制,會依最佳作法來套用。在某些情況下,用戶端可能超出設定的配額。請勿依靠用量計劃配額或調節來控制成本或封鎖對 API 的存取。請考慮使用 AWS Budgets 來監控成本,使用 AWS WAF 來管理 API 請求量。

API 金鑰和用量計劃的最佳實務

以下是使用 API 金鑰和用量計劃時建議遵循的最佳實務。

重要
  • 不要使用 API 金鑰進行身分驗證或授權來控制 API 的存取權。然而,若用量計劃中具有多個 API,則持有該用量計劃中某 API 有效 API 金鑰的使用者便可存取該用量計劃中的所有 API。請改用 IAM 角色、Lambda 授權方Amazon Cognito 使用者集區來控制 API 的存取權。

  • 使用 API Gateway 產生的 API 金鑰。API 金鑰不應包含機密資訊;用戶端通常會在可被記錄的標頭中傳輸這些資訊。

  • 如果您使用開發人員入口網站發佈 API,請注意,客戶可以訂閱指定使用方案中的所有 API,即使您尚未讓客戶看到這些 API 也是如此。

  • 在某些情況下,用戶端可能超出設定的配額。請勿依靠用量計劃來控制成本。請考慮使用 AWS Budgets 來監控成本,使用 AWS WAF 來管理 API 請求量。

  • 將 API 金鑰新增至用量計劃後,更新作業可能需要幾分鐘才能完成。