允许特定IP地址访问API Gateway | IP白名单配置
作者:API传播员 · 2025-12-29 · 阅读时间:4分钟
如何允许特定的IP或IP地址范围访问我们的REST API端点?在本文中,我们将详细介绍如何通过配置IP白名单来实现这一目标,从而允许特定IP访问REST API端点,同时拒绝或阻止来自其他IP的所有请求。本文专注于API网关中使用REST协议的API,并将通过资源策略来实现IP白名单的配置。
开始
首先,我们需要创建一个 Lambda 函数(命名为 requestService),该函数将作为REST API网关的后端集成。每当调用端点(GET方法)时,Lambda 函数将返回一个硬编码的响应,而无需任何复杂的业务逻辑。
以下是 Lambda 函数的代码示例:

创建 Lambda 函数后,进入 API 管理控制台,创建一个新的REST API,或者选择一个已有的REST API。接下来,创建资源路径(如 /processrequest)并为其添加 GET 方法。最后,将 Lambda 函数(requestService)与 GET 方法集成。以下是集成配置的参考截图:

通过资源策略将IP地址列入白名单
通过资源策略,我们可以限制API端点的访问,仅允许来自特定IP地址的请求,同时拒绝其他来源的请求。
配置资源策略
- 在完成API网关和 Lambda 函数的设置后,打开API网关管理控制台。
- 在左侧面板中选择“资源策略”。
- 在编辑器中粘贴以下策略模板,并点击“保存”:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path"
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "YOUR IP ADDRESS"
}
}
}
]
}
修改策略
- 将
YOUR IP ADDRESS替换为需要允许访问API端点的IP地址(可以通过搜索引擎查询“我的IP地址”获取)。 - 如果需要允许一个IP地址范围,可以使用CIDR格式定义,例如
192.168.0.0/24。 - 保存修改后的策略。
部署API
完成资源策略的配置后,重新部署API以使更改生效,并获取调用URL。
测试
验证访问权限
- 部署完成后,复制调用URL并在浏览器中打开,确保在URL末尾添加
/processrequest,然后按下回车键。 - 如果配置正确,您将看到来自 Lambda 函数的响应。
以下是成功调用的示例截图:

验证拒绝访问
为了验证资源策略的工作情况,可以将允许的IP地址替换为 localhost IP(如 127.0.0.1),保存更改并重新部署API。
再次尝试访问API端点时,您将收到一条错误消息,表示访问被拒绝。以下是错误消息的示例截图:

总结
通过配置资源策略,我们成功地实现了对API资源。
原文链接: https://www.srcecde.me/posts/2022/05/allow-access-to-api-gateway-from-specific-ip-addresses-whitelist-ips/
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
最新文章
- Django中API速率限制指南 – CoderPad
- 增强API安全性:使用OPA和Kong Gateway进行细粒度访问控制
- 如何免费调用有道翻译API实现多语言翻译
- 公司logo获取服务:如何让企业自动化生成Logo变得轻松简单?
- 了解和使用REST API
- 为什么API开发对现代应用至关重要?
- 如何利用Apache APISIX实现高效的API认证与鉴权:全面解析主流认证方式
- 医疗保健领域中api解决方案的优势与劣势
- 如何获取腾讯AI开放平台 API Key 密钥(分步指南)
- 如何使用Flask-RESTX构建和文档化RESTful API
- API类型:详解与图示 – Kodezi博客
- 百度文心一言API使用指南:非技术人员入门教程