首页 CT Control Tower Guardrails 与原生 SCP 的分工原则
文章
取消

CT Control Tower Guardrails 与原生 SCP 的分工原则

Guardrails 本质就是 CT 帮你写 SCP

Control Tower 的 Guardrails 在底层就是一条条 SCP,附加到对应的 OU 上。CT 帮你封装了”选个框就好”的体验,不用自己写 JSON。

三种 Guardrails 类型:

类型含义能否修改
MandatoryCT 强制开启,自动创建底层 SCP不可见不可改
Strongly RecommendedCT 推荐的防护策略可以关但不建议
Optional可选策略可以开可以关

Mandatory 类型的 SCP 用户不可见也不可删除(CT 后台托管),即使是管理员也无法绕过。

自定义 SCP 不受 CT 限制

用 Terraform 在 modules/scp/ 中手写的 SCP 策略和 CT Guardrails 互不相干:

  • CT 不知道它们存在,也不会干预
  • 两类 SCP 叠加生效(Effect 叠加,Deny 优先)
  • 互不冲突,各自独立管理

控制边界与分工原则

SCP 可以从三个层级附加:Root OU(组织根)、具体 OU、单个账号。不同层级有不同分工:

控制层级策略来源影响范围典型场景
Root OU自定义 SCP组织内所有账号全局统一限制:禁止退出组织、禁止禁用 CloudTrail、禁止修改 SCP 本身
OUCT Guardrails(强制)该 OU 下所有账号CT 后台托管,即使管理员也不可见不可改
OUCT Guardrails(强烈推荐/可选)该 OU 下所有账号基础防护:禁止 Root 访问密钥、S3 公开访问限制、CloudTrail 启用等
OU自定义 SCP该 OU 下所有账号组织级高级策略:Data Perimeter、权限边界强制、特定服务限制
单账号自定义 SCP(少用)仅该账号特殊例外账号的差异化限制

各层叠加规则:多个 SCP 同时生效,Deny 优先。无论哪个层级,只要有一条 SCP 明确 Deny 了某个操作,该操作就会被禁止。

Control Preventive 和 root scp 的清单参考

CT Mandatory(~22 项,CT 自动强制启用)

CT Landing Zone 创建时自动启用,附加到所有 OU。底层 SCP 不可见、不可删、不可改:

类别说明
CloudTrail 保护禁止停止/删除 CloudTrail、禁用组织级 Trail
AWS Config 保护禁止停止/删除 Configuration Recorder
Root 用户保护禁止 Root 用户执行管理操作
SCP 保护禁止删除/修改附加的 SCP
IAM Identity Center 保护禁止删除/修改 SSO 配置
日志归档保护禁止删除/修改审计日志归档
账号保护禁止成员账号退出组织

Terraform 管理的 CT Controls(25 项,附加到 Security OU)

通过 modules/guardrails/main.tf 管理,覆盖 audit 和 log-archive 账号:

S3 数据保护(4 项)

Control作用
S3 SSE-KMS 加密要求所有 S3 上传必须使用 SSE-KMS
S3 Authorization Header 要求所有请求必须携带签名
S3 HTTPS 传输强制拒绝 HTTP 请求
S3 组织内访问限制禁止组织外访问 S3

EC2 安全加固(8 项)

Control作用
EBS 卷加密禁止创建未加密卷
EBS 快照加密快照必须从加密卷创建
EBS 快照禁止公开禁止公开共享快照
EC2 直接 API 禁止禁止调用 EC2 直接 API
EC2 VM 导入导出禁止禁止导入导出虚拟机
废弃 Spot API 禁止禁止使用已废弃的 Spot API
EC2 串行控制台禁用禁止启用串行控制台
AMI 公开共享禁止禁止公开共享 AMI

KMS 安全加固(2 项)

Control作用
KMS Grant 限制仅允许授权给 AWS 服务
KMS RSA 密钥最小长度RSA 密钥必须满足最小长度

Lambda 安全(2 项)

Control作用
Lambda IAM 认证Lambda URL 必须使用 IAM 认证
Lambda 账号内访问仅允许账号内调用

服务级组织内访问限制(4 项)

Control作用
Secrets Manager 组织内访问禁止组织外读取 Secrets
SQS 组织内访问禁止组织外访问 SQS
STS 组织内访问禁止组织外使用 STS
AppSync 私有 API禁止 AppSync 公开访问

审计桶保护(4 项)

Control作用
审计桶策略变更禁止禁止修改审计桶策略
审计桶加密启用强制审计桶加密
审计桶日志启用强制启用访问日志
审计桶保留策略强制配置保留策略

未启用的 Preventive Control 还有 ~22 项:VPC 公网/IGW/跨区域网络/VPN 等 4 项因架构冲突暂未启用;KMS XKS、Backup、AppSync 等 ~18 项可按需评估启用。

Terraform 管理的自定义 SCP(8 条,附加到 Root OU)

通过 modules/scp/main.tf 管理,全局生效(CT Control 无法附加到 Root OU):

#策略名核心禁止操作豁免
1禁止退出组织organizations:LeaveOrganizationaccount:CloseAccount
2审计服务防篡改cloudtrail:StopLogging/DeleteTrailconfig:StopConfigurationRecorderguardduty:DeleteDetectorsecurityhub:DisableSecurityHubinspector2:DisableCloudTrail 零豁免;Config/GuardDuty/Security Hub/Inspector 豁免 Terraform Role
3组织共享保护ram:DisableSharingWithAwsOrganizationresource-explorer-2:DeleteIndex/View
4不安全数据创建拦截S3 公开 ACL/策略、未加密 EBS/RDS、公开 EBS 快照
5审计 S3 桶保护删除/修改 CT 审计桶和日志组豁免 Terraform Role
6Data Perimeter跨组织访问 S3/KMS/EC2(aws:ResourceOrgID
7区域白名单非允许区域操作(全局服务豁免列表)
8S3 Block Public Access(账号级资源)4 层封锁(Management/Audit/Log-Archive)Emergency 暂未配置
本文由作者按照 CC BY 4.0 进行授权

AWS 多账号架构中的 Break-Glass 应急账号设计与实践

Lark MCP Docker 集成方案