启用了API密钥,但没有密钥的请求仍在运行

Dil*_*lon 6 amazon-web-services aws-api-gateway

在我的API网关控制台中,我执行了以下操作:

  • 创建了一个API密钥
  • 将密钥与已部署的API阶段相关联
  • 选中键的"已启用"复选框
  • 对于API的每个资源的每种方法,都需要API密钥进行身份验证

我期望curl https://my-api-gateway-url/my-resource403,因为我没有包括x-api-key标题,但它是200而不是.API网关后面的我的Lambda函数最终运行时,它不应该在没有API密钥的情况下运行.

如何确保密钥是否需要验证所有请求?

编辑:我在这里关注文档:http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html

Dil*_*lon 14

刚刚回答了我自己的问题.在这里发布我的答案,因为我知道我不是唯一一个对此感到疑惑的,就像这个人一样.

答案是重新部署您的API.虽然重新部署听起来很明显,但文档完全跳过了重要的最后一步,因此很容易被忽略.

  • 很高兴它对你有用。感谢您对文档的反馈。我会将其传递给我们的文档团队,以确保涵盖所有必要的步骤。最佳 Jurgen,API 网关 (3认同)