【发布时间】:2021-12-06 11:12:23
【问题描述】:
- 服务 A:我有一些 AWS 资源位于 AWS NLB 后面。
- 服务 B:调用服务 A 的 AWS NLB 公开的端点。该服务具有所有所需的身份验证。
我遇到了一个问题,
如果恶意用户能够侵入服务 B,由于服务 A 对服务 B 的身份验证的隐式信任,服务 A 将让恶意用户调用其 API。我想要以下方法来缓解这个问题,
只有服务 B 应该能够调用服务 A 公开的 API。
通常使用 IAM 角色/策略这应该相当容易,但我猜 NLB 并不适用于我的用例,即只让选定的服务调用它。我猜 NLB 的设计是为了让任何人都可以调用它。有没有办法实现这种形式的服务到服务通信?
PS:我知道如果我们使用 here 提到的 AWS ALB 和 AWS Classic LB 可以做到这一点,因为这两者都在请求级别工作,但 NLB 在 OSI 模型的连接级别(传输层)工作.
为您的 Application Load Balancer 和 Classic Load Balancer 配置安全组以仅接受来自特定客户端的流量。这些安全组必须允许来自侦听器端口上客户端的入站流量和到客户端的出站流量。
【问题讨论】:
-
服务 B 与闯入和控制服务 B 的攻击者有什么区别?
标签: authentication amazon-iam amazon-elb nlb aws-nlb