我在 api 网关中设置了以下资源策略以限制对源 IP 的访问(x 只是一个占位符)。当我从邮递员手动点击 api 端点时,策略正确地将访问限制为我在下面的资源策略中指定的 cidr 范围。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:us-east-1:x:x/*/*/*”
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:us-east-1:x:x/*/*/*”,
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
“x.x.x.x/32"
]
},
"StringNotEquals": {
"aws:sourceVpc": "vpc-x”
}
}
}
]
}
但是,我有一个 lambda 函数,它也调用相同的 https api 网关端点。这个函数基本上只是每隔一小时将测试数据传递到我的 api 中。但是,lambda 函数无法到达端点并收到 403 禁止错误。我尝试将其添加sourceVpc
到资源策略中,但这似乎不起作用。我也尝试添加 vpc cidr 范围,但这同样不起作用。
你知道我应该在资源策略中添加什么 cidr 以允许我的 lambda 也调用我的 api 端点吗?