使用 AWS Organizations 实现多账户管理 - OU 设计与 SCP 治理
通过 OU 层级设计和 SCP 访问控制建立多账户环境的治理。同时介绍统一计费的成本管理。
Organizations 概述
Organizations 是统一管理最多数千个 AWS 账户的服务。在单一账户中运行所有环境会导致安全边界模糊,计费分离也困难。通过 Organizations 分离账户并用 OU 层级分组,可实现每个环境的安全边界和计费分离。在组织根下创建 OU (Organizational Unit),将账户放置在 OU 中形成树形结构进行管理。管理账户(原主账户)统管整个组织,不受 SCP 限制。本地环境中实现类似的环境隔离需要网络分段或物理服务器分离,构建和运维成本高昂,而 AWS 中创建账户仅需一次 API 调用,无额外基础设施成本。
SCP 与统一计费
SCP 是应用于 OU 或账户的访问控制策略,设置 IAM 策略的上限。例如对生产 OU 应用「禁止使用特定区域以外」的 SCP 后,即使 IAM 允许,下属账户也无法在受限区域创建资源。SCP 可以用允许列表或拒绝列表方式编写,拒绝列表方式在运维上更简洁,推荐使用。SCP 沿 OU 层级向下继承,父 OU 的 SCP 适用于所有子 OU 及其下属账户。统一计费将组织内所有账户的使用量汇总,可享受 S3 和 EC2 的批量折扣。RI 和 Savings Plans 的共享启用后,购买账户以外的账户也可享受折扣。结合 AWS Cost Explorer 可进行 OU 级别和账户级别的成本分析,通过 AWS Budgets 设置账户级别的预算告警可以提前防止成本超支。
OU 设计与账户策略
OU (Organizational Unit) 的设计是安全边界和治理的基础。推荐的 OU 结构为:Security OU(日志归档、安全审计)、Infrastructure OU(网络、共享服务)、Workloads OU(生产、开发、预发布)、Sandbox OU(实验用)。SCP 应用于 OU,对下属所有账户生效。委托管理员功能可将 GuardDuty、Security Hub、Config 等安全服务的管理委托给 Security OU 的专用账户,管理账户仅负责组织管理。通过 CloudTrail 组织跟踪将所有账户的 API 操作集中到日志归档账户,提高安全审计和合规效率。标签策略可标准化所有账户的资源标签,提高成本分配的准确性。 关于 Organizations 的深入学习,书籍 (Amazon)也可供参考。
通过 RAM 实现跨账户资源共享
AWS RAM (Resource Access Manager) 是在账户间安全共享资源的服务。支持 VPC 子网、Transit Gateway、Route 53 Resolver 规则、Network Firewall 策略等多种资源类型的共享。与 Organizations 集成后,可实现 OU 级别的资源共享自动化,新账户加入 OU 时自动获得共享资源的访问权限。将中央网络账户管理的 VPC 子网共享给各工作负载账户,可以实现 IP 地址空间的高效管理和网络策略的集中控制。资源所有权仍由共享源账户保持,在维护安全和治理的同时实现高效的资源利用。
与 Control Tower 的选择
Organizations 是组织结构的基础服务,而 Control Tower 是构建在 Organizations 之上的最佳实践自动化服务。单独使用 Organizations 时,需要手动进行 OU 设计、SCP 创建和日志集中化配置。启用 Control Tower 后,会提供 Landing Zone(包括推荐的 OU 结构、400 以上的预定义护栏 (SCP + Config 规则,支持 CIS Benchmark 和 NIST 800-53)、Account Factory 自动创建新账户)。少量账户(约 5 个)的简单配置用 Organizations 单独即可,但预计扩展到 10 个以上账户时推荐引入 Control Tower。Control Tower 包含 Organizations 的所有功能,因此后期启用也能保留现有的 OU 结构。
设计陷阱与注意事项
Organizations 运维中常见的陷阱之一是在管理账户中运行工作负载。管理账户不受 SCP 限制,因此安全护栏对其不生效。管理账户应仅用于组织管理和计费,工作负载必须放在成员账户中。SCP 设计中,使用允许列表时每当新服务发布就需要更新 SCP,运维负担大,因此仅明示禁止事项的拒绝列表方式更实用。OU 嵌套深度上限为 5 层,但过深会使 SCP 继承关系复杂,难以把握哪些策略应用到了哪些账户。控制在 2-3 层是运维最佳实践。每个账户维持独立的 IAM 边界,因此一个账户的安全事件对其他账户的影响可以最小化,这是多账户策略最大的优势。
Organizations 的定价
Organizations 本身不产生额外费用。统一计费汇总成员账户的使用量,可享受批量折扣。启用 RI 和 Savings Plans 共享后,购买账户以外的账户也可享受折扣。随着账户数增加,各账户启用的服务(CloudTrail、Config、GuardDuty)成本会累积,需要在 OU 级别管理启用哪些服务。通过 Organizations 强制标签策略,维持所有账户一致的标签规则,实现精确的成本分配。
总结
Organizations 是统一多账户环境治理和成本管理的服务。通过 OU 层级和 SCP 建立安全边界,通过委托管理员功能将安全服务管理委托给专用账户。RAM 通过跨账户资源共享简化网络设计,统一计费利用批量折扣和 RI/Savings Plans 共享。通过标签策略标准化整个组织的资源标签,通过 CloudTrail 组织跟踪对所有账户的 API 操作进行统一审计。10 个以上账户规模时与 Control Tower 结合使用可强化自动化,避免在管理账户中执行工作负载是维护安全的关键。