如何通过资源策略限制Serverless API访问 白名单是否默认拦截其他IP
结论
不需要额外配置IpRangeBlacklist,你当前的配置已经会自动拦截所有不在白名单10.20.30.40内的IP请求。
原理说明
- AWS API Gateway的资源策略遵循默认拒绝的权限判定逻辑:只有被显式允许的请求才能通过,所有未匹配到允许规则的请求都会被直接拒绝。
- 你使用AWS SAM的
IpRangeWhitelist参数配置白名单时,SAM会自动在底层生成对应的资源策略规则,显式允许列表内的IP访问API,其余所有IP因为没有匹配到允许规则,会被默认逻辑直接拦截。 IpRangeBlacklist配置仅用于白名单范围内需要额外拦截特定IP的场景:比如你白名单配置了一个整段内网IP,需要单独拦截该段内的某几个风险IP时,才需要额外添加黑名单规则。
你当前配置对应的底层自动生成资源策略示例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:<区域>:<账号ID>:<API ID>/*/*/*", "Condition": { "IpAddress": { "aws:SourceIp": ["10.20.30.40/32"] } } } ] }
内容的提问来源于stack exchange,提问作者ozil
相关产品推荐
相关产品推荐

