

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

# AWS Control Tower 的工作原理
<a name="how-control-tower-works"></a>

本节将简要介绍 AWS Control Tower 的工作原理。您的 landing zone 是一个架构精良的多账户环境，可以存放您的所有资源。 AWS 您可以使用此环境对所有 AWS 账户强制执行合规性法规。

## AWS Control Tower 登录区的结构
<a name="landing-zone-structure"></a>

AWS Control Tower 中登录区的结构如下所示：
+ **Root** — 包含着陆区 OUs 中所有其他内容的父级。
+ **安全 OU** – 此 OU 包含日志存档和审计账户。这些账户通常被称为*共享账户*。启动着陆区时，您可以为这些共享账户选择自定义名称，并且可以选择将现有 AWS 账户引入 AWS Control Tower，以确保安全和记录。但是，以后不能重命名这些账户，也不能在初始启动后添加现有账户，以确保安全性和日志记录。
+ **沙盒 OU** - 如果启用了沙盒 OU，则会在启动登录区时创建该 OU。该账户和其他注册账户 OUs包含您的用户用来执行其工作 AWS 负载的注册账户。
+ **IAM Identity Center 目录** - 默认情况下，此目录存放您的 IAM Identity Center 用户。它定义每个 IAM Identity Center 用户的权限范围。或者，您可以选择自行管理您的身份和访问权限控件。有关更多信息，请参阅[使用 AWS IAM 身份中心和 AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/sso.html)。
+ **IAM Identity Center 用户** — 这些是您的用户在您的着陆区域中执行 AWS 工作时可以假设的身份。

## 设置登录区时会发生什么
<a name="how-it-works-setup"></a>

在设置登录区时，AWS Control Tower 将代表您在管理账户中执行以下操作：
+ 创建包含在 AWS Organizations 组织根结构中的两个组织单位 (OUs)：安全和沙盒（可选）。
+ 在安全 OU 中创建或添加两个共享账户：日志存档账户和审计账户。
+ 在 IAM Identity Center 中创建一个云原生目录，其中包含预配置的组和单点登录访问，或者如果选择默认的 AWS Control Tower 配置，它将允许您自行管理身份提供者。
+ 应用所有强制性的预防性控件来执行策略。
+ 应用所有强制性的检测性控件来检测配置违规情况。
+ *预防性控件不适用于管理账户。*
+ 除管理账户外，控件将应用于整个组织。

**安全管理您的 AWS Control Tower 登录区和账户中的资源**
+ 创建着陆区时，会创建许多 AWS 资源。要使用 AWS Control Tower，您不能在本指南中描述的受支持方法之外修改或删除这些 AWS Control Tower 托管资源。删除或修改这些资源将导致登录区进入未知状态。有关详细信息，请参阅 [关于创建和修改 AWS Control Tower 资源的指南](getting-started-guidance.md)
+ 当您启用可选控件（带有*强烈推荐或选择性*指导的控件）时，AWS Control Tower 会创建在您的账户中管理的 AWS 资源。请勿修改或删除 AWS Control Tower 所创建的资源。这样做可能会导致控件进入未知状态。

## AWS Control Tower 是如何使用的 StackSets
<a name="stacksets-how"></a>



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

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

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

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

如果堆栈集更新包括对模板的更改（也就是说，如果指定了`TemplateBody`或`TemplateURL`属性），或者指定了`Parameters`属性，则在更新指定账户中的堆栈实例之前，将所有堆栈实例的状态 CloudFormation 标记为 “**已过期**” 和 AWS 区域。如果堆栈集更新不包括对模板或参数的更改，则 CloudFormation 更新指定账户和区域中的堆栈实例，同时保留所有其他堆栈实例的现有堆栈实例状态。要更新与堆栈集关联的所有堆栈实例，请勿指定 `Accounts` 或 `Regions` 属性。

有关更多信息，请参阅《 CloudFormation 用户指南》中的 “[更新堆栈集](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/stacksets-update.html)”。