首页/云/云网络与负载均衡速查/一个实例加入多个安全组的叠加规则

一个实例加入多个安全组的叠加规则

实例可以同时加入多个安全组,判定取所有规则的并集:任意一个安全组中有匹配的放行规则,流量即可通过。因此「把实例再加进一个严格的安全组」并不能收窄权限,权限只会越并越大。

多安全组如何叠加

实例可以同时加入多个安全组,判定取所有规则的并集:任意一个安全组中有匹配的放行规则,流量即可通过。因此「把实例再加进一个严格的安全组」并不能收窄权限,权限只会越并越大。想收紧访问,正确做法是回到已有安全组里删掉或调整那条放行规则,而不是叠加新组。

叠加判定示意

叠加判定示意
实例 ECS-01 同时加入:
  sg-web(放行 80/443)
  sg-ops(放行 22)
判定结果:80、443、22 全部放行(取并集)
要收紧 22:应从 sg-ops 移除异常来源规则,而不是新增严格安全组

基本信息

判定规则多组规则取并集,任一放行即通过
实践建议控制实例关联的安全组数量,规则按角色集中管理
审计要点定期反查「实例与安全组」绑定关系,清理历史遗留
数量上限单实例可加入的安全组数量有上限,见厂商文档

典型使用场景

  • 运维通道独立成组:业务组管业务端口,运维组管管理端口
  • 临时授权:把实例加入一个临时组开放调试端口,用完及时移出
  • 存量梳理:反查实例关联了哪些组,找出历史遗留的宽放行
  • 故障排查:端口不通时穷举实例关联的所有安全组,而不是只看一个

常见误解与事实

误解事实
加一个严格组可以收紧权限规则取并集,权限只增不减
组内优先级跨组生效优先级只在单个安全组内部比较
移出组不影响已有实例移出后对应放行立即失效
规则叠加不可收窄是高频误解:排查端口问题时要把实例关联的所有安全组过一遍。

治理建议

把「实例与安全组的绑定关系」当作资产来管理:按角色划组(Web、应用、数据、运维),让实例尽量只归属少数职责明确的安全组;临时调试用单独的安全组,用完立即解绑。每隔一段时间做一次反查,把长期未使用的绑定与宽放行条目清理掉,并核对是否存在对 0.0.0.0/0 开放管理端口的实例。规则越少越集中,出问题时越容易在几分钟内定位。

易错点

  • 误以为新加入严格安全组能覆盖旧组放行,实际权限只增不减
  • 排查不通时只看了其中一个安全组,遗漏其他关联组中的拒绝规则
  • 临时调试用的安全组忘记解绑,端口长期对外暴露
  • 安全组数量随意增长,实例实际放行面无人能完整说清

数据来源与参考

  • 阿里云 安全组文档(多安全组)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌