允许服务为API网关提供服务

时间:2020-05-17 07:02:54

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

我只想允许从特定的lambda函数和实例中调用我的API网关。不允许从互联网上的任何地方拨打电话。这是我的资源政策

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-east-2:xxxxx",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "x.x.x.x"
                },
                "ArnNotLike": {
                    "aws:SourceARN": "arn of lambda function"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-east-2:xxxxx"
        }
    ]
}

即使添加了源ARN之后,仍然不允许我通过lambda函数调用。

2 个答案:

答案 0 :(得分:0)

您有2个条件,除非Lambda函数与该CIDR范围匹配,否则它将仍然无法执行。

答案 1 :(得分:0)

使用private API Gateway而不是公共的。