У меня есть веб-приложение (приложение 1), и я настраиваю конечную точку API. Я отправлю запрос на эту конечную точку из приложения 2. Приложение 1 и приложение 2 находятся в одном VPC.
Я бы хотел, чтобы приложение 1 НЕ разрешало исходящий трафик, за исключением ответа API на приложение 2.
Допустим, это код для конечной точки приложения 1.
def api(request):
val = request.POST['value'] * 2
send_email('Subject', 'Message', 'to@example.com', 'from@example.com')
return val
Моя группа безопасности разрешила бы вернуть val в приложение 2, но заблокировала бы отправку электронной почты, поскольку это были бы данные, ускользающие из приложения.
Возможно, я видел, что ответом может быть НЕТ групп безопасности для разрешенного исходящего трафика. Это предотвращает весь исходящий трафик, ЗА ИСКЛЮЧЕНИЕМ уже предварительно проверенных входящих подключений, поскольку приложения будут отвечать.
Поскольку группы безопасности отслеживают состояние, вы можете запретить весь исходящий трафик для app1 и разрешить входящий только с IP-адреса app2, отправляющего запрос. Это заблокирует весь трафик, инициированный сервером, на котором запущено приложение 1, но позволит отвечать на запросы, которые разрешены из приложения 2.