我只想允许从特定的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函数调用。
答案 0 :(得分:0)
您有2个条件,除非Lambda函数与该CIDR范围匹配,否则它将仍然无法执行。
答案 1 :(得分:0)
使用private API Gateway而不是公共的。