You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS API Gateway资源策略配置:拒绝IP并允许IAM角色调用

允许内部Lambda访问受IP白名单限制的API Gateway端点

我们在AWS上部署了一个通过API Gateway对外暴露的Lambda函数,当前API的资源策略仅允许公司白名单内的IP地址访问该端点。现在需要让另一个内部Lambda函数通过Node.js的HTTP调用方式访问这个API,当前环境未配置VPC;如果API本身有可选的令牌认证机制,就无需进行以下资源策略配置。

现有API资源策略如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::******:role/service-role/{roleName}" // 允许指定Lambda角色访问
      },
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:sa-east-1:******:******/*/*/*"  // 受限制的API资源
    },
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:sa-east-1:******:******/*/*/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "999.99.999.999",
            "999.99.999.999",
            "999.999.999",
            "999.99.999.999",
            "999.99.999.999",
            "999.99.999.999" // 模拟IP白名单
          ]
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:sa-east-1:******:******/*/*/*",
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": [
            "999.99.999.999",
            "999.99.999.999",
            "999.999.999",
            "999.99.999.999",
            "999.99.999.999",
            "999.99.999.999"
          ]
        },
        "ArnNotLike": {
          "aws:PrincipalArn": "arn:aws:iam::******:role/service-role/{roleName}"
        }
      }
    }
  ]
}

策略逻辑说明

  • 第一条规则:直接授权指定的Lambda服务角色调用目标API
  • 第二条规则:仅允许白名单内的IP地址发起API调用
  • 第三条规则:拒绝所有既不在IP白名单内、又不是指定Lambda角色的调用请求

内容的提问来源于stack exchange,提问作者Ana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:18:21