我已经在AWS上成功设置了多个API网关,它们与客户端API密钥完美配合。
是否可以公开API中的特定端点,但是需要使用客户端API密钥保护的所有其他端点?
答案 0 :(得分:1)
您可以使用AWS CloudFront将请求转发到公共端点的API网关,并在转发到Origin的CloudFront标头中定义客户端API密钥。
注意:将API网关作为CloudFront的来源时,您需要执行以下操作。
答案 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密钥的要求,则不会应用您在使用计划中设置的任何速率限制或配额。