Какой диапазон 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-шлюз.

Другие вопросы по тегам