首页 文章

使用GET参数限制AWS API Gateway endpoints

提问于
浏览
0

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

https://api.myapp.com/myendpoint

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

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

如果 token 参数丢失或 token 值不是特定的预定值,是否可以限制对 endpoints 的访问?我可以设置我的 endpoints 来简单地忽略没有正确令牌的呼叫吗?

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

如果我能够让API网关忽略这些调用,当对丢失令牌的 endpoints 进行伪造调用时,是否还会收取使用费用?

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

1 回答

  • 0

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

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

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

相关问题