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

如何为调用Lambda函数的AWS API Gateway添加IP白名单

Hey there! 我来给你梳理几个在AWS API Gateway上实现IP白名单的实用方案,你可以根据自己的场景挑最合适的:

方法1:使用AWS WAF(最推荐,管理省心还能兼顾安全)

这是生产环境最常用的方式,不仅能做IP白名单,还能顺带防护SQL注入、XSS这些常见攻击:

  • 打开AWS WAF控制台,创建一个Web ACL,选择和你的API Gateway同区域
  • 在Web ACL里添加一条IP匹配规则:动作选「允许」,然后把需要放行的IP地址/网段填进去(支持CIDR格式,比如192.168.1.0/24)
  • 一定要加一条默认规则:动作设为「阻止」,这样所有不在白名单里的请求都会被拦截
  • 最后回到API Gateway控制台,找到你的API,在「Web ACL」选项里关联刚才创建的Web ACL就行
方法2:使用API Gateway资源策略(适合简单场景,无额外成本)

如果你的需求很简单,不想额外启用WAF,可以直接用API Gateway自带的资源策略:

  • 进入API Gateway控制台,选中你的API,切换到「资源策略」页面
  • 替换成类似下面的策略(注意把占位符改成你自己的信息):
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:us-east-1:123456789012:abc123/*/*/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "192.168.1.1/32",
            "10.0.0.0/24"
          ]
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:us-east-1:123456789012:abc123/*/*/*"
    }
  ]
}
  • 关键说明:
    • Resource要替换成你API的ARN(可以在API Gateway的「设置」页面找到)
    • aws:SourceIp数组里填你允许的IP或CIDR段
    • 策略顺序很重要:先允许符合条件的请求,再默认拒绝所有,这样逻辑才正确
  • 保存策略后,记得重新部署你的API,修改才会生效
方法3:使用Lambda授权器(适合需要自定义逻辑的场景)

如果除了IP白名单,你还需要结合其他验证逻辑(比如同时校验API密钥),可以用Lambda授权器:

  • 创建一个Lambda函数,在函数代码里获取请求的源IP(从event.requestContext.identity.sourceIp字段读取)
  • 把允许的IP列表存在Lambda的环境变量里,或者写在代码里(推荐用环境变量,方便后续修改)
  • 函数逻辑:判断请求IP是否在白名单内,在的话返回允许的IAM策略,不在则返回拒绝策略
  • 回到API Gateway,给需要保护的API方法配置Lambda授权器:选择刚才创建的函数,身份来源选「请求上下文」(不需要额外的身份参数)
  • 部署API后,只有白名单内的IP能通过授权调用你的API

几个注意点

  • 如果你的API是私有API(绑定了VPC端点),资源策略里要改用aws:VpcSourceIp而不是aws:SourceIp,因为此时SourceIp是VPC端点的IP,不是客户端真实IP
  • WAF会产生额外费用,但功能更全面,适合生产环境;资源策略完全免费,适合测试或简单场景
  • 不管用哪种方法,都建议先测试一下:用不在白名单里的IP发起请求,确认会被拦截,再用白名单里的IP测试,确保能正常调用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:08:05