AWS API Gateway使单个端点公开可用

时间:2017-12-08 11:57:32

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

我已经在AWS上成功设置了多个API网关,它们与客户端API密钥完美配合。

是否可以公开API中的特定端点,但是需要使用客户端API密钥保护的所有其他端点?

2 个答案:

答案 0 :(得分:1)

您可以使用AWS CloudFront将请求转发到公共端点的API网关,并在转发到Origin的CloudFront标头中定义客户端API密钥。

注意:将API网关作为CloudFront的来源时,您需要执行以下操作。

  • 白名单标题(主机标题除外)
  • 仅限HTTPS
  • 使TTL值为0

答案 1 :(得分:1)

只需将apiKeyRequired字段设置为false,无论您想要向公众开放哪种方法。

这是在控制台的“方法请求”页面中。以下是使用AWS CLI的示例:

aws apigateway update-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --patch-operations op="replace",path="/apiKeyRequired",value="false"

请注意,如果您删除了API密钥的要求,则不会应用您在使用计划中设置的任何速率限制或配额。