我是否只能允许单个API密钥访问单个AWS API Gateway终端节点?

时间:2019-02-07 13:32:03

标签: amazon-web-services aws-api-gateway

我希望我的一个端点仅可用于单个api键。对于其他所有人,我都想拒绝。

我一直在环顾四周,看来您可以通过IAM帐户或IP地址来执行此操作,但是我找不到关于API密钥的任何信息。这可能吗?

2 个答案:

答案 0 :(得分:1)

是的,您可以创建一个API密钥并将其附加到API网关端点。

  1. 首先创建一个API密钥。
    AWS控制台-> API网关-> API密钥-> 操作-> 创建API密钥。

  2. 现在导入API密钥, API网关-> API密钥->导入API密钥。在format中键入密钥。

  3. 在API网关方法中(获取/发布)->在“方法”请求中,将需要的API密码设置为 true

  4. 现在创建一个使用计划:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-usage-plans-with-console.html

  5. 部署API。

AWS文档:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-setup-api-key-with-console.html

您还可以遵循:https://datanextsolutions.com/blog/protect-aws-api-gateway-endpoints-using-api-keys/

答案 1 :(得分:0)

“我找不到有关API密钥的任何信息。这可能吗?”

是的。

  1. 创建一个usagePlan,并将其与您要保护的API阶段关联。
  2. 创建一个API密钥并将其与使用计划关联。
  3. 在API中的方法上将apiKey必填字段标记为true。
  4. 部署您的API。

现在,只有在请求中传递了正确的X-API-Key标头后,您的API方法才会执行,其他每个请求都将处于禁止状态。