要为AWS HTTPS API Gateway限制对特定IP的访问,可以使用资源策略(Resource Policy)。下面是一个包含代码示例的解决方法:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:region:account-id:api-id/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"192.0.2.0/24", // 允许的IP地址范围
"203.0.113.0/24"
]
}
}
}
]
}
请确保将上述示例中的“region”替换为您使用的AWS区域,“account-id”替换为您的AWS帐户ID,“api-id”替换为您的API标识符,并根据需要添加、修改或删除允许的IP地址范围。
登录AWS管理控制台,并导航到API Gateway服务。
选择您要限制访问的API。
在API网关的左侧导航栏中,选择“资源”。
在资源列表中,选择根资源或您要限制访问的特定资源。
在选定的资源上,选择“操作”下拉菜单中的“资源策略”。
在资源策略页面,选择“添加策略”。
在“资源策略编辑器”页面上,选择“高级模式”。
将资源策略文件(policy.json)中的内容复制并粘贴到“策略文本”字段中。
选择“保存”。
验证资源策略是否适用于API Gateway。您可以使用允许的或拒绝的IP地址进行测试,以确保策略生效。
以上步骤将使用资源策略为AWS HTTPS API Gateway限制对特定IP的访问。请根据您的实际需求自定义和调整资源策略文件中的IP地址范围。