如何通过安全组实现AWS VPN Client对VPC资源的访问限制
实现方案
核心原理澄清
- 客户端成功连接AWS Client VPN后,访问VPC内资源的源IP属于你创建Client VPN时指定的Client IPv4 CIDR段,而非客户端本地的公网出口IP
- Client VPN端点关联的安全组仅用于控制VPN端点本身的入站、出站流量规则,并不会作为VPN用户访问其他VPC资源时的源安全组,因此你之前直接将该安全组配置为ALB入站规则的源,自然不会生效
具体配置步骤
1. 调整Staging环境ALB的安全组规则
找到Staging环境ALB绑定的安全组,修改入站规则:
- 保留VPC内部业务所需的入站规则,删除原有允许
0.0.0.0/0访问业务端口的规则 - 新增入站规则:
- 协议端口:匹配你业务的监听端口,比如HTTPS 443、HTTP 80
- 源地址:填写你Client VPN的
Client IPv4 CIDR段(可在Client VPN端点详情页查询该地址段,示例:172.16.0.0/16) - 描述:允许VPN客户端访问Staging ALB
如果你的Staging环境使用的是私网ALB,上述安全组配置逻辑完全一致。
2. 配置Client VPN授权规则
确保连接VPN的用户拥有访问ALB所在网段的权限:
- 进入AWS控制台Client VPN端点的「授权规则」标签页
- 新增授权规则:
- 目标网络:填写ALB所在的VPC子网CIDR段,若需要开放整个VPC访问可直接填写VPC的CIDR段
- 授权对象:可选择允许所有连接VPN的用户,也可选择仅授权指定的AD用户组、SAML身份提供商用户组
- 描述:授权VPN用户访问Staging环境网段
3. 配置Client VPN路由规则
确保VPN用户访问ALB的流量会被正确路由到VPC内部:
- 进入Client VPN端点的「路由表」标签页
- 新增路由:
- 目标网络:和上一步授权的目标网络保持一致(ALB所在子网CIDR或VPC CIDR)
- 目标子网关联:选择Client VPN端点已关联的任意一个VPC子网
- 描述:路由Staging环境访问流量到VPC内部
4. 可选安全加固
如果需要进一步规避Client CIDR段被非VPN流量冒用的风险,可额外配置:
- 给ALB所在子网的网络ACL添加入站规则,仅允许源为Client VPN CIDR段的流量访问ALB对应的业务端口
- 结合IAM身份中心或企业AD,在Client VPN授权规则中按用户组分配不同环境的访问权限,实现更细粒度的权限控制
内容的提问来源于stack exchange,提问作者Alejandro Andersson
相关产品推荐
相关产品推荐

