Какой диапазон cidr следует использовать в политике ресурсов шлюза API, чтобы лямбда-функция могла вызывать мою конечную точку?
Я установил следующую политику ресурсов в шлюзе 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”
}
}
}
]
}
Однако у меня есть лямбда-функция, которая также вызывает ту же конечную точку шлюза https api. По сути, эта функция просто передает тестовые данные в мой api с почасовыми интервалами. Но лямбда-функция не может достичь конечной точки и выдает ошибку 403 запрещено. Я пробовал добавитьsourceVpc
к политике ресурсов, но это, похоже, не сработало. Я также попытался добавить диапазон cidr vpc, но опять же это не сработало.
Вы знаете, какой cidr я должен добавить в политику ресурсов, чтобы моя лямбда также могла вызывать мою конечную точку api?
1 ответ
Я добавил в политику ресурсов "aws:SourceIp" IP-адрес шлюза NAT подсетей, связанных с моей лямбда-функцией. Это позволило моей лямбда-функции успешно вызвать API-шлюз.