在API閘道中選擇API金鑰來源 - Amazon API Gateway

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

在API閘道中選擇API金鑰來源

當您將使用計劃與API方法上的啟用API鍵相關聯API並啟用時,對的每個傳入請求都API必須包含一個索API引鍵。APIGateway 會讀取金鑰,並將其與使用方案中的金鑰進行比較。如果有相符項目,APIGateway 會根據方案的要求限制和配額來限制要求。否則,它會擲出 InvalidKeyParameter 例外狀況。因此,發起人收到 403 Forbidden 回應。

您的API閘道API可以從下列其中一個來源接收API金鑰:

HEADER

您可以將API金鑰分配給客戶,並要求他們將金API鑰作為每個傳入要求的X-API-Key標頭傳遞。

AUTHORIZER

您有 Lambda 授權者在授權回應中傳回API金鑰。如需授權回應的詳細資訊,請參閱來自API閘道 Lambda 授權者的輸出

注意

如需考量最佳實務,請參閱 API金鑰和使用方案的最佳做法

使用API閘道主控台選擇API金鑰來源 API
  1. 登入API閘道主控台。

  2. 選擇現有的API或建立新的。

  3. 在主導覽窗格中,選擇 [API設定]。

  4. API詳細資料區段中,選擇編輯

  5. API金鑰來源下,Authorizer從下拉式清單中選取Header或。

  6. 選擇儲存變更

若要使用選擇的API金鑰來源 AWS CLI,請API依照下列方式呼叫update-rest-api指令:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER

若要讓用戶端提交API金鑰,請在前面的CLI指令HEADERvalue將設定為。

若要使用API閘道選擇API金鑰來源 RESTAPI,請API依下列方restapi:update式呼叫:

PATCH /restapis/fugvjdxtri/ HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T205348Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature={sig4_hash} { "patchOperations" : [ { "op" : "replace", "path" : "/apiKeySource", "value" : "HEADER" } ] }

要讓授權者返回API密鑰,請在上一個patchOperationsvalueAUTHORIZER中將設置為。

視您選擇的金API鑰來源類型而定,請使用下列其中一個程序,在方法叫用中使用標頭來源API金鑰或授權者傳回API的金鑰:

若要使用標頭來源API金鑰:
  1. API使用所需的API方法建立,然後API將其部署到階段。

  2. 建立新的用量計劃或選擇現有的用量計劃。將已部署的API階段新增至使用量計劃。將API金鑰附加至用量計劃,或選擇方案中現有的API金鑰。請注意選擇的API鍵值。

  3. 設定需要API金鑰的API方法。

  4. 將重新部署API到相同的階段。如果您將部署API到新階段,請務必更新使用計劃以附加新API階段。

用戶端現在可以呼叫這些API方法,同時提供所選索API引鍵做為標頭值的標頭。x-api-key

若要使用授權者來源的金鑰API:
  1. API使用所需的API方法建立,然後API將其部署到階段。

  2. 建立新的用量計劃或選擇現有的用量計劃。將已部署的API階段新增至使用量計劃。將API金鑰附加至用量計劃,或選擇方案中現有的API金鑰。請注意選擇的API鍵值。

  3. 建立權杖型 Lambda 授權方。納入 usageIdentifierKey:{api-key} 作為授權回應的根層級屬性。如需建立權杖型授權者的指示,請參閱。範例TOKEN授權者 Lambda 函數

  4. 設定API方法以需要API金鑰,並在方法上啟用 Lambda 授權者。

  5. 將重新部署API到相同的階段。如果您將部署API到新階段,請務必更新使用計劃以附加新API階段。

用戶端現在可以呼叫所需金API鑰的方法,而無需明確提供任何API金鑰。授權者傳回的API金鑰會自動使用。