You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨VPC通过VPC Endpoint访问时如何配置最小权限安全组规则

实现双VPC架构下的最小权限安全组配置

可以实现最小权限访问控制,但不能直接在服务的安全组中引用另一个VPC里的客户端安全组——因为跨VPC通过Interface模式VPC Endpoint访问Network Load Balancer(NLB)时,流量会经过AWS私有网络基础设施,服务端看到的源IP是NLB所在子网的私有IP,而非客户端的真实IP,直接引用客户端安全组无法匹配流量。

正确的做法是通过链式安全组规则层层限制流量,确保只有目标客户端能访问服务,具体配置步骤如下:

1. 调整服务的安全组

将服务的入站规则从允许所有IP,改为仅允许NLB的安全组访问目标端口:

resource "aws_security_group_rule" "service_from_nlb" {
  security_group_id        = aws_security_group.service.id
  type                     = "ingress"
  from_port                = 9096
  to_port                  = 9096
  protocol                 = "tcp"
  source_security_group_id = aws_security_group.nlb.id
}

2. 调整NLB的安全组

让NLB仅接受来自客户端VPC中Interface Endpoint的安全组的流量:

resource "aws_security_group_rule" "nlb_from_vpc_endpoint" {
  security_group_id        = aws_security_group.nlb.id
  type                     = "ingress"
  from_port                = 9096
  to_port                  = 9096
  protocol                 = "tcp"
  source_security_group_id = aws_security_group.vpc_endpoint.id
}

3. 调整Interface VPC Endpoint的安全组

限制Endpoint仅接受来自客户端安全组的流量:

resource "aws_security_group_rule" "vpc_endpoint_from_client" {
  security_group_id        = aws_security_group.vpc_endpoint.id
  type                     = "ingress"
  from_port                = 9096
  to_port                  = 9096
  protocol                 = "tcp"
  source_security_group_id = aws_security_group.client.id
}

补充说明

  • 这种链式配置的核心是每一层只允许下一层的合法流量,实现了最小权限原则,同时适配了VPC Endpoint的流量路径特性。
  • 如果客户端VPC的CIDR固定,也可以选择在服务安全组中直接限制为客户端VPC的CIDR块,但安全组的方式更灵活,后续客户端网络调整时无需修改服务侧的规则。

内容的提问来源于stack exchange,提问作者sdgfsdh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 02:12:16