我有一个 Web 应用(应用 1),正在设置 API 端点。我将从应用 2 向该端点发送请求。应用 1 和应用 2 位于同一个 VPC 中。
我希望 App 1 不允许任何出站流量,除了对 App 2 的 API 响应之外。
假设这是 App 1 端点的代码
def api(request):
val = request.POST['value'] * 2
send_email('Subject', 'Message', '[email protected]', '[email protected]')
return val
我的安全组会允许将 val 返回到应用程序 2,但会阻止发送的电子邮件,因为它会是逃离应用程序的数据。
我可能已经看到答案可能是不允许出站使用安全组。这会阻止所有出站流量,但已预先筛选的入站连接除外,因为应用程序会做出响应。
答案1
由于安全组是有状态的,因此您可以拒绝 app1 的所有传出流量,并仅允许来自发出请求的 app2 的 IP 的传入流量。这将阻止运行 app1 的服务器发起的所有流量,但将允许对来自 app2 的允许传入的请求进行回复。