使用资源访问策略无法正常控制AWS API Gateway中对API的访问

时间:2018-04-23 19:41:06

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

我的基础设施如下:

  1. 两台EC2机器(无公共IP)。每台EC2机器都在一个单独的子网中。
  2. 具有4个API的AWS API网关。 EC2计算机将访问AWS API网关以使用REST API。
  3. 测试:

    我正在尝试通过IP地址使用资源访问策略来控制对API网关的访问。我只想要两台EC2机器访问API网关,我的资源策略如下。我在资源策略中使用子网的IP / CIDR。

        {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": "*",
                "Action": "execute-api:Invoke",
                "Resource": "exact resource name",
                "Condition": {
                    "IpAddress": {
                        "aws:SourceIp": [
                            "subnet address 1/CIDR",
                            "subnet address 2/CIDR"   
                        ]
                    }
                }
            }
        ]
    }
    

    上述策略无效并阻止所有REST调用。 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

API网关不在您的VPC中。它无法将您的流量视为来自您的VPC CIDR块。您需要在策略中提供实例用于访问Internet的NAT网关的IP地址。