AWS API Gateway IP流量限制-使用DNS代替IP地址

时间:2018-12-19 22:23:23

标签: amazon-web-services aws-api-gateway

我目前有一个AWS API Gateway,客户端正在将其用作客户端API应用程序的依赖项资源。客户端的API应用程序当前托管在Azure中,并且已实现负载平衡。

鉴于AWS API Gateway的资源策略根据源IP地址或范围应用了Allow / Deny 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 Gateway资源的更好方法是什么?

非常感谢!

1 个答案:

答案 0 :(得分:1)

AWS文档规定

  

aws:SourceIp键。该值必须采用标准的CIDR格式(例如203.0.113.0/24或2001:DB8:1234:5678 :: // 64)

所以我怀疑它不起作用。

在API网关级别保护请求的其他方法

  • API使用者可以签署请求(您必须提供密钥),或者
  • API使用者可以强制其所有流量通过一个IP(使用Azure中等效的NAT网关)
  • API使用者可以使用API key you provide
  • 之一