View a markdown version of this page

AWS Control Tower 的工作原理 - AWS Control Tower

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Control Tower 的工作原理

本节将简要介绍 AWS Control Tower 的工作原理。您的着陆区是一个架构精良的多账户环境,可容纳您的所有资源。 AWS 您可以使用此环境对所有 AWS 账户执行合规性法规。

AWS Control Tower 登录区的结构

AWS Control Tower 中登录区的结构如下所示:

  • – 包含登录区中的所有其他 OU 的父项。

  • 安全 OU – 此 OU 包含日志存档和审计账户。这些账户通常被称为共享账户。启动着陆区时,您可以为这些共享账户选择自定义名称,并且可以选择将现有 AWS 账户引入 AWS 控制塔以保证安全和登录。但是,以后不能重命名这些账户,也不能在初始启动后添加现有账户,以确保安全性和日志记录。

  • 沙盒 OU - 如果启用了沙盒 OU,则会在启动登录区时创建该 OU。此 OU 和其他已注册的 OU 包含用户在执行其 AWS 工作负载时使用的已注册的账户。

  • IAM Identity Center 目录 - 默认情况下,此目录存放您的 IAM Identity Center 用户。它定义每个 IAM Identity Center 用户的权限范围。或者,您可以选择自行管理您的身份和访问权限控件。有关更多信息,请参阅使用 AWS IAM 身份中心和 AWS 控制塔

  • IAM 身份中心用户 — 这些身份是您的用户在着陆区执行 AWS 工作负载时可以假定的身份。

设置登录区时会发生什么

在设置登录区时,AWS Control Tower 将代表您在管理账户中执行以下操作:

  • 创建两个 AWS Organizations 组织单位 (OU):安全和沙盒(可选),包含在组织根结构中。

  • 在安全 OU 中创建或添加两个共享账户:日志存档账户和审计账户。

  • 在 IAM Identity Center 中创建一个云原生目录,其中包含预配置的组和单点登录访问,或者如果选择默认的 AWS Control Tower 配置,它将允许您自行管理身份提供者。

  • 应用所有强制性的预防性控件来执行策略。

  • 应用所有强制性的检测性控件来检测配置违规情况。

  • 预防性控件不适用于管理账户。

  • 除管理账户外,控件将应用于整个组织。

安全管理您的 AWS Control Tower 登录区和账户中的资源
  • 当你创建着陆区时,会创建大量 AWS 资源。要使用 AWS Control Tower,您不能在本指南中描述的受支持方法之外修改或删除这些 AWS Control Tower 托管资源。删除或修改这些资源将导致登录区进入未知状态。有关详细信息,请参阅 关于创建和修改 AWS Control Tower 资源的指南

  • 当您启用可选控件(带有强烈推荐或选择性指导的控制)时,AWS Control Tower 会在您的账户中创建管理的 AWS 资源。请勿修改或删除 AWS Control Tower 所创建的资源。这样做可能会导致控件进入未知状态。

AWS 控制塔的工作原理 StackSets

默认情况下 CloudFormation StackSets ,AWS 控制塔用于在您的账户中设置资源。每个堆栈集都有 StackInstances 与账户和 AWS 区域 每个账户相对应的堆栈集。AWS Control Tower 为每个账户和区域部署一个堆栈集实例。

AWS 控制塔根据 CloudFormation 参数 AWS 区域 有选择地将更新应用于某些账户。将更新应用于某些堆栈实例时,其他堆栈实例可能会处于 Outdated (过时) 状态。这是正常的,也是预期行为。

当堆栈实例处于 Outdated (过时) 状态时,通常意味着对应于该堆栈实例的堆栈未采用堆栈集中的最新模板。堆栈仍采用旧模板,因此它可能未包含最新的资源或参数。堆栈仍然完全可用。

下面简要总结了根据更新期间指定的 CloudFormation 参数将出现哪些预期行为:

如果堆栈集更新包括对模板的更改(即,如果指定了TemplateBodyTemplateURL属性),或者如果指定了该Parameters属性,则在更新指定账户中的堆栈实例之前,将所有堆栈实例 CloudFormation 标记为已过期,然后再更新指定账户中的堆栈实例 AWS 区域。如果堆栈集更新不包括对模板或参数的更改,则 CloudFormation 更新指定账户和区域中的堆栈实例,同时将所有其他堆栈实例保留其现有堆栈实例状态。要更新与堆栈集关联的所有堆栈实例,请勿指定 AccountsRegions 属性。

有关更多信息,请参阅《 CloudFormation 用户指南》中的 “更新您的堆栈集”。