使用GET参数限制AWS API Gateway端点

时间:2016-10-18 21:22:02

标签: amazon-web-services authentication aws-lambda endpoint aws-api-gateway

我在某个网址上有一个API网关端点,如下所示:

https://api.myapp.com/myendpoint

将要访问此端点的人员和/或服务需要将特定参数和值传递给端点。像这样:

https://api.myapp.com/myendpoint?token=123456

如果token参数丢失或token值不是特定的预定值,是否可以限制对端点的访问?我可以设置我的端点,只是忽略那些没有正确令牌的电话吗?

我打算将Lambda用作后端。我是否必须在Lambda函数中处理此问题?最终,我试图通过随机个人对端点进行虚假调用来避免不必要的Lambda和API网关使用成本。因此,如果我可以拥有API网关,只需忽略这些调用,而无需启动理想的Lambda。

如果我能够让API网关忽略这些呼叫,当对丢失令牌的端点进行虚假呼叫时,是否还会收取使用费用?

我问的原因是因为要访问此端点的第三方服务没有任何选项可以在标头中传递身份验证参数或使用AWS Cognito等。所以我只是在尝试想一个限制访问的简单方法。

1 个答案:

答案 0 :(得分:0)

您需要在Lambda中执行此验证。

如果您有一个查询参数token到集成端点的映射,那么对于像...?token=123这样的请求,API Gateway会将参数传递给端点,但对于...?token=, API网关不会。

API网关不会像您想要的那样对查询参数进行验证,您将需要为这些请求付费。