拒绝AWS API Gateway中针对某些IP的请求

时间:2017-05-06 18:47:57

标签: amazon-web-services aws-api-gateway

有没有办法拒绝某些IP的集成请求中的请求?

目前我有这个代码可以使用,但请求仍然传递给我的Lambda函数,我仍然返回常规结果体。我试图在击中Lambda fn之前完全停止请求。

#if($context.identity.sourceIp != "123.45.55.43")
  {
    "errorMessage" : "Error, not authorized"
  }
#end

1 个答案:

答案 0 :(得分:1)

它并不漂亮,但这就是我提出的:当IP与我想要的不匹配时传递破损的请求。在这个例子中,我只希望来自123.45.55.43的请求通过,其他一切都应该失败 - 我并不担心向客户端提供适当的响应。由于$broken未定义,因此我们不会将任何内容传递给Lambda fn。

#if($context.identity.sourceIp == "123.45.55.43")
  {
    "source_ip": "$context.identity.sourceIp"
  }
#else
  $broken
#end

API最终会出现400个错误,但Lambda函数不会在其仪表板中显示任何新的调用/错误。适合我。