Amazon API Gateway使用IP白名单控制后端服务访问

一图胜千言

一图胜千言

目标

我们需要在Amazon API Gateway设置资源策略,用于控制某些IP段能够访问特定后端服务。

前提

假设已经完成了Amazon API Gateway中REST API的接口部署,如下就是已经存在的API接口:
Rest API接口

步骤

创建资源策略

创建资源策略
点击“资源策略”,写入如下内容后,点击“保存”按钮即可:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws-cn:execute-api:cn-north-1:xxx:xxx/*/*/adminApi/*"
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws-cn:execute-api:cn-north-1:xxx:xxx/*/*/adminApi/*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "x.x.x.x/24"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws-cn:execute-api:cn-north-1:xxx:xxx/*/*/openApi/*"
        }
    ]
}

这里资源策略的意思就是许可特定的IP段x.x.x.x/32,才能够访问/adminApi/*的接口,其他接口都能够随意访问。值得注意的是这里的Resource格式:arn:aws-cn:execute-api:cn-north-1:账号id:API Gateway的id/阶段名称/http请求方法/adminApi/*
需要注意:Allow 与 Deny的策略顺序。

重新部署Rest API接口

重新部署api
选择“资源”,选择“/”,下拉“操作”按钮,选中“部署API”;
重新部署选择阶段
选择部署阶段,点击“部署”。

验证

异地IP验证

异地IP验

使用移动IP调用,请求被拒绝了。

白名单IP验证

白名单IP验证
同样的请求,在白名单中的IP就可以正常请求。

总结

这里使用的AWS中国北京地区的API Gateway服务,通过策略控制对后台服务的访问控制。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值