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

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

API Gateway RESTAPIs中 的使用計劃和API金鑰

建立、測試和部署 之後APIs,您可以使用 API Gateway 使用計畫,將它們作為客戶的產品方案提供。您可以設定用量計劃和API金鑰,讓客戶能夠存取選取的 APIs,並根據APIs定義的限制和配額開始對這些 進行限流請求。這些可以在 API、 或 API方法層級設定。

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

用量計劃指定誰可以存取一或多個部署API的階段和方法,並選擇性地設定目標請求速率以開始限流請求。計劃使用API金鑰來識別API用戶端,以及誰可以存取每個金鑰的相關API階段。

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

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

重要

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

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

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

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

限流和配額限制適用於個別API金鑰的請求,這些金鑰會在用量計劃中的所有API階段彙總。

注意

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

在 API Gateway 中設定用量計劃和API金鑰的步驟

下列任務概述設定使用計畫和API金鑰的必要步驟。如需最佳實務做法,請參閱「API 金鑰和用量計畫的最佳實務」。

設定用量計劃和API金鑰
  1. 建立 API 並設定每個方法需要API金鑰API的方法請求。然後,將 部署API到階段。

    若要將API方法包含在使用計畫中,您必須將個別API方法設定為需要 API金鑰。

    如需如何設定方法以要求API金鑰的詳細資訊,請參閱 方法需要API金鑰

  2. 產生或匯入API金鑰,以分發給將使用您 的應用程式開發人員 (您的客戶)API。API 使用計畫需要 金鑰。

    如需如何產生或匯入API金鑰的詳細資訊,請參閱 建立API金鑰

  3. 建立具有所需限流和配額限制的用量計劃,然後將API階段和API金鑰與用量計劃建立關聯。

    如需如何建立用量計劃的詳細資訊,請參閱 建立用量計劃

的呼叫者API必須在 請求的 x-api-key 標頭中提供指派的API金鑰API。

如需建立用量計劃並與新階段和API金鑰建立關聯的完整 AWS CloudFormation 範本,請參閱 使用 建立和設定API金鑰和用量計劃 AWS CloudFormation

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

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

重要
  • 請勿使用 API 金鑰進行身分驗證或授權,以控制對 的存取APIs。如果您在使用計畫APIs中有多個 ,則具有該使用計畫API中其中一個有效API金鑰的使用者可以存取該使用計畫APIs中的所有 。相反地,若要控制對 的存取API,請使用 IAM角色、Lambda 授權方Amazon Cognito 使用者集區

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

  • 如果您使用開發人員入口網站發佈 APIs,請注意,客戶可以訂閱指定用量計劃APIs中的所有 ,即使您尚未將它們提供給客戶查看。

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

  • 將API金鑰新增至使用計畫後,更新操作可能需要幾分鐘的時間才能完成。