【问题标题】:AWS API Gateway - Resource PoliciesAWS API Gateway - 资源策略
【发布时间】:2020-08-21 12:10:12
【问题描述】:

我们在 aws 上有一个 Lambda 函数,它通过 api 网关公开。 在该 api 上,我们有一个资源策略来限制流量,因此只有我们公司中的 ip 地址可以访问端点。 为此,我们使用 AWS 在 api 网关资源策略页面上提供的标准 ip range blacklist 模板,并将其修改为使用 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,它在执行更多逻辑之前对该 API 网关进行 http 调用以收集一些信息。我们想使用这个现有的 lambda,因为它执行一些复杂的逻辑。 但是,当我们尝试在新的 lambda 中对现有 lambda 的 API 网关进行 http get 以获取所需信息时,根据资源策略中的拒绝规则,它会被拒绝

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

【问题讨论】:

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


    【解决方案1】:

    如果 Lambda 基于私有子网中的 VPC,则其 IP 地址可以绑定到 NAT 网关/NAT 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2019-12-14
      • 2018-09-28
      • 2018-10-03
      • 2020-04-04
      • 2021-10-23
      • 2018-02-21
      相关资源
      最近更新 更多