使用SAM模板在AWS代理API网关中将IP列入白名单

时间:2017-10-06 10:03:42

标签: amazon-web-services aws-lambda serverless-framework

我正在尝试创建一个ip白名单以允许访问APi网关。我需要使用sam模板来完成它。找不到任何关于此的文档。任何人都可以请我指出任何相关的事情吗?

由于

2 个答案:

答案 0 :(得分:3)

您可以使用AWS_IAM作为终端的授权

AWS_IAM Example

然后,您可以创建这样的IAM策略,允许您指定IP地址。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "execute-api:Invoke"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "xxx.xx.xx.xx/32"
                }
            },
            "Resource": "arn:aws:execute-api:*:*:*"
        }
    ]
}

文章:http://benfoster.io/blog/aws-api-gateway-ip-restrictions

答案 1 :(得分:2)

真正的问题不是使用AWS SAM模板进行白名单,而是如何做到这一点。一般来说,一旦完成方法,就可以将其推广到模板中。我个人认为为您的API网关创建单独的VPC 应该是一个很好的解决方案。或者您可以阻止应用程序逻辑或AWS WAF中的流量

编辑:因此,我认为只能通过API网关资源的SAM模板来完成。