AWS API Gateway-资源策略

时间:2020-05-06 13:43:20

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

我们在AWS上具有Lambda函数,该函数通过api网关公开。 在该api上,我们有一项资源策略来限制流量,因此我们公司中只有ip地址可以访问端点。 为此,我们使用AWS在api网关资源策略页面上提供的标准ip范围黑名单模板,并将其修改为使用NotIpAddress而不是IpAddress,例如

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/stage/*/getInfo",
            "Condition" : {
                "NotIpAddress": {
                    "aws:SourceIp": [ "192.188.1.1", "192.168.1.2" ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "execute-api:/stage/*/getInfo"
        }
    ]
}

我们现在需要开发另一个lambda,该lambda对该API网关进行http调用,以在执行更多逻辑之前收集一些信息。我们要使用现有的lambda,因为它执行一些复杂的逻辑。 但是,当我们尝试在新的lambda中使用http获取到现有lambda的API网关以获取所需信息时,根据资源策略中的deny规则,该请求将被拒绝

是否可以设置IPAddress限制并允许来自我们AWS账户中所有lambda的调用?

1 个答案:

答案 0 :(得分:1)

如果Lambda位于您的VPC的专用子网中,则其IP地址可以绑定到NAT网关/ NAT实例。