i当前有一个AWS API网关,客户端将其用作客户端API应用程序的依赖关系资源。客户端的API应用程序当前托管在Azure中,并且负载均衡。
鉴于AWS API Gateway的资源策略适用允许/基于源IP地址或范围的API流量,我可以使用客户端的托管DNS,而不是实际的IP地址作为策略上的IP项条目(请参见下面的策略示例)?
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": [
"arn:aws:execute-api:region:account-id:api-id/*"
]
},
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": [
"arn:aws:execute-api:region:account-id:api-id/*"
],
"Condition" : {
"IpAddress": {
"aws:SourceIp": ["192.0.2.0/24", "clientsite.azurewebsites.net" ]
}
}
}
]
}
如果没有,什么是允许云托管应用程序访问AWS API网关资源的更好方法?
非常感谢!
aws文档evented
aws:sourceip键。该值必须采用标准CIDR格式(例如,203.0.113.0/24或2001:DB8:1234:5678 ::/64)
所以我怀疑它不会起作用。
在API网关级别保护请求的其他方法
- API消费者可以签署请求(您必须提供密钥)或
- API消费者可以强迫所有流量通过一个IP(使用Azure中的NAT网关等效)
- API消费者可以使用您提供的API密钥之一