本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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金鑰
的呼叫者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金鑰新增至使用計畫後,更新操作可能需要幾分鐘的時間才能完成。