Я установил следующую политику ресурсов в шлюзе API, чтобы ограничить доступ к исходному IP-адресу (х - просто заполнитель). Когда я вручную нажимаю на конечную точку 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
в политику ресурсов, но это не помогло. Я также попытался добавить диапазон vp c cidr, но опять же это не сработало.
Знаете ли вы, какой cidr я должен добавить в политику ресурсов, чтобы моя лямбда также могла вызывать мою конечную точку api?