在我的 API 网关控制台中,我执行以下操作:
- 已创建 API 密钥
- 将密钥与已部署的 API 阶段相关联
- 已选中密钥的"已启用"复选框
- 对于我的 API 的每个资源的每种方法,都需要 API 密钥进行身份验证
我预计curl https://my-api-gateway-url/my-resource
403,因为我没有包含 x-api-key
标题,而是 200。我在 API 网关后面的 Lambda 函数最终在没有 API 密钥的情况下不应该运行时运行。
如何确保需要密钥来验证所有请求?
编辑:我正在关注这里的文档:http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html
刚刚回答了我自己的问题。在这里发布我的答案,因为我知道我不是唯一一个想知道这个问题的人,就像这个人一样。
答案是重新部署您的 API。虽然重新部署听起来很明显,但文档完全跳过了至关重要的最后一步,因此很容易被忽视。