为什么 AWS 委派管理员对 AWS 多账户架构至关重要
Source: Dev.to
什么是委派管理员?
委派管理员是您 AWS 组织中的成员账户,负责在整个组织的所有账户中管理特定的 AWS 服务。与其在管理账户中管理 GuardDuty、Security Hub 或 CloudTrail 等服务,您可以将某个成员账户注册为该服务的委派管理员。
注册后,该成员账户将获得在组织范围内配置、监控和管理该服务所需的权限。委派管理员可以:
- 查看所有账户的检测结果
- 在整个组织中部署配置
- 执行管理操作,而无需访问管理账户
这将服务管理从管理账户(在该账户上 SCP 不生效且风险集中)转移到专用的成员账户(可以通过 SCP 强制最小权限,且影响范围受限)。
为什么委派管理员很重要
保护管理账户
管理账户是您 AWS 组织的根账户。它负责计费、组织结构、账户创建以及组织范围的策略,是攻击者的主要目标。
服务控制策略 (SCP) 有一个关键限制:它们不适用于管理账户。如果管理账户中的主体拥有宽泛的 IAM 权限,则没有组织层面的防护措施阻止其在整个基础设施中执行破坏性操作。
直接在管理账户中运行 GuardDuty、Security Hub 和 Config 等安全服务会进一步加大风险。若管理账户被攻陷且这些服务仍在运行,攻击者将能够看到您的安全工具并有能力在所有账户中关闭检测。
委派管理员将此风险从管理账户中移出。安全服务在专用的安全账户中运行,SCP 可以限制该账户的主体可以执行的操作。如果该账户被攻陷,影响范围仅限于安全服务的管理,而不会波及整个组织的计费和账户结构。
多账户最佳实践
委派管理员不是可以事后添加的可选优化,而是在安全运营多账户 AWS 环境时的必需措施。
在完善的多账户策略中,您会按功能划分账户:
- 安全账户 用于安全服务
- 基础设施账户 用于共享网络和平台服务
- 工作负载账户 用于应用程序
这种结构专门用于支持委派管理等模式。若没有委派管理员,您只能在管理账户中管理组织范围的服务,这会集中风险并违反职责分离原则。使用委派管理员后,您可以将服务管理分散到与团队职责相匹配的专用账户中。
这并非理论,而是 AWS 最佳实践始终建议即使是小型组织也要设立专用的安全和日志归档账户的实际原因。这些账户成为委派的目标,使得在规模化时能够安全地管理服务,而不影响管理账户。
安全与运营收益
通过账户边界实现职责分离
委派管理员支持与组织实际运作方式相匹配的团队访问模式。
- 安全团队 在安全账户中管理 Security Hub、GuardDuty 和 IAM Access Analyzer。
- 网络团队 在网络账户中管理 Firewall Manager。
- 平台团队 在共享服务账户中管理 Systems Manager 和 CloudFormation StackSets。
每个团队仅获得其服务所需的访问权限,无需管理账户凭证。这降低了凭证散布,简化了访问审计,并通过账户边界而非复杂的 IAM 策略实现职责分离。
限制影响范围
Security Hub 的委派管理员能够管理整个组织的安全发现,这固然强大,但若该账户被攻陷,影响仅限于 Security Hub 的操作。攻击者无法删除账户、修改计费或更改组织结构,因为这些权限仍保留在管理账户中。
SCP 还能进一步限制委派管理员账户只能管理其被指定的服务。例如,作为 Security Hub 委派管理员的安全账户不需要 EC2 启动权限、S3 桶创建或 Lambda 部署权限。SCP 可以拒绝这些操作,同时允许安全服务的相关操作。
集中可视性而非集中风险
在没有委派管理员之前,集中安全监控意味着将安全服务管理集中在管理账户,导致可视性与风险之间的矛盾。通过委派,您可以获得集中可视性(委派管理员可以看到所有账户的发现),而无需承担集中风险(管理账户保持最小化并受到保护)。
设置委派管理员的前置条件
必须启用 AWS Organizations
委派管理仅在 AWS Organizations 中存在。如果您仍在使用独立的 AWS 账户,请先启用 AWS Organizations,以建立委派所需的集中管理结构。
AWS Organizations 为多账户管理提供基础:组织单元、策略继承、合并计费以及在组织范围内启用服务的能力。没有 Organizations,就没有指派委派管理员的结构。
必须拥有专用的成员账户
委派管理员需要专用的成员账户作为委派目标。至少需要以下账户:
- 安全账户 – 用于安全服务委派(Security Hub、GuardDuty、Config、IAM Access Analyzer)
- 日志归档账户 – 用于集中日志委派(CloudTrail)
- 网络账户 – 用于网络服务委派(Firewall Manager)
- 共享服务账户 – 用于运营服务委派(Systems Manager、CloudFormation StackSets)
请不要使用工作负载账户(生产、开发、预发布)作为委派管理员。将委派管理与应用工作负载混用会使访问控制和事件响应变得复杂。
有关设计支持委派的账户结构的指导,请参阅我们的AWS 多账户策略文章。
必须启用受信任访问
在组织中注册为委派管理员之前,需要为每个 AWS 服务启用受信任访问。这一步允许该服务在组织控制下跨账户运行。
(后续实现步骤将在此处继续。)