

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

# AWS CloudFormation StackSets 和 AWS Organizations
<a name="services-that-can-integrate-cloudformation"></a>

CloudFormation StackSets 使您能够通过单个操作跨多个 AWS 账户 堆栈创建、更新或删除堆栈。 AWS 区域 StackSets AWS Organizations 通过与集成，您可以使用在每个成员账户中具有相关权限的服务相关角色创建具有服务管理权限的堆栈集。这可将堆栈实例部署到组织中的成员账户。您无需创建必要的 AWS Identity and Access Management 角色；可以代表您在每个成员账户中 StackSets 创建 IAM 角色。

您还可以选择为将来添加到组织的账户启用自动部署。启用自动部署后，关联堆栈集实例的角色和部署将自动添加到将来添加到该 OU 的所有账户中。

启用 StackSets 和 Organizations 之间的可信访问权限后，管理账户有权为您的组织创建和管理堆栈集。管理账户最多可以将五个成员账户注册为委托管理员。启用信任访问权限后，委托管理员还有权为您的组织创建和管理堆栈套。具有服务托管权限的堆栈集是在管理账户中创建的，包括由委托管理员创建的堆栈集。

**重要**  
委派管理员具有部署到组织中的账户的完全权限。管理账户无法将委派的管理员权限限制为特定堆栈集 OUs 或执行特定堆栈集操作。

 有关 StackSets 与 Organizations 集成的更多信息，请参阅《*AWS CloudFormation 用户指南*》 AWS CloudFormation StackSets中的 “[使用](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)”。

使用以下信息来帮助您集 AWS CloudFormation StackSets 成 AWS Organizations。



## 启用集成时，创建了一个服务相关角色
<a name="integrate-enable-slr-cloudformation"></a>

以下[服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)会在您启用信任访问权限时自动在组织的管理账户中创建。此角色允许 CloudFormation Stacksets 在组织中的账户中执行支持的操作。

只有在禁用 CloudFormation Stacksets 和 Organizations 之间的信任访问权限，或者从组织中删除成员账户，您才能删除或修改此角色。
+ 管理账户：`AWSServiceRoleForCloudFormationStackSetsOrgAdmin`

要为组织中的成员账户创建服务相关角色 `AWSServiceRoleForCloudFormationStackSetsOrgMember`，您需要先在管理账户中创建一个堆栈集。这将会创建一个堆栈集实例，然后该实例会在成员账户中创建相应的角色。
+ 成员账户：`AWSServiceRoleForCloudFormationStackSetsOrgMember`

有关创建堆栈集的更多详细信息[，请参阅*AWS CloudFormation 用户指南 AWS CloudFormation StackSets*中的使用](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)。

## 服务相关角色使用的服务委托人
<a name="integrate-enable-svcprin-cloudformation"></a>

上一部分中的服务相关角色只能由为角色定义的信任关系授权的服务委托人担任。 CloudFormation Stacksets 使用的服务相关角色向以下服务主体授予访问权限：
+ 管理账户：`stacksets.cloudformation.amazonaws.com`

  只有在 StackSets 和 Organizations 之间禁用了可信访问权限后，才能修改或删除此角色。
+ 成员账户：`member.org.stacksets.cloudformation.amazonaws.com`

  只有先禁用 StackSets 和 Organizations 之间的可信访问权限，或者先从目标组织或组织单位 (OU) 中移除该帐户，才能修改或删除账户中的此角色。

## 使用 CloudFormation 堆栈集启用可信访问
<a name="integrate-enable-ta-cloudformation"></a>

有关启用信任访问权限所需权限的信息，请参阅[允许可信访问所需的权限](orgs_integrate_services.md#orgs_trusted_access_perms)。

只有 Organizations 管理账户中的管理员才有权启用对其他 AWS 服务的可信访问。您可以使用 CloudFormation 控制台或 Organizations 控制台启用信任访问权限。

您只能使用 AWS CloudFormation StackSets 启用可信访问权限。

要使用 CloudFormation Stacksets 控制台启用可信访问，请参阅《 AWS CloudFormation 用户指南》 AWS Organizations中的 “[使用启用可信访问](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html)”。

## 使用 CloudFormation 堆栈集禁用可信访问
<a name="integrate-disable-ta-cloudformation"></a>

有关禁用信任访问所需权限的信息，请参阅[禁止可信访问所需的权限](orgs_integrate_services.md#orgs_trusted_access_disable_perms)。

只有 Organizations 管理账户中的管理员才有权禁用其他 AWS 服务的可信访问权限。您只能使用 Organizations 控制台禁用信任访问权限。如果您在使用时禁用 Organizations 的可信访问权限 StackSets，则所有先前创建的堆栈实例都将保留。但是，使用服务相关角色的权限部署的堆栈套无法再对 Organizations 管理的账户执行部署。

您可以使用控制台或 Organizations CloudFormation 控制台禁用可信访问。

**重要**  
如果您以编程方式禁用可信访问（例如使用 AWS CLI 或使用 API），请注意，这将移除权限。最好使用 CloudFormation 控制台禁用可信访问。

您可以使用 AWS Organizations 控制台、运行 Organizations AWS CLI 命令或在其中一个中调用 Organizations API 操作来禁用可信访问 AWS SDKs。

------
#### [ AWS 管理控制台 ]

**使用 Organizations 控制台禁用信任服务访问权限**

1. 登录 [AWS Organizations 控制台](https://console.aws.amazon.com/organizations/v2)。您必须以 IAM 用户的身份登录，担任 IAM 角色；或在组织的管理账户中以根用户的身份登录（[不推荐](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials)）。

1. 在导航窗格中，选择**服务**。

1. 在服务列表中选择 **AWS CloudFormation StackSets**。

1. 选择 **Disable trusted access（禁用信任访问权限）**。

1. 在**禁用 AWS CloudFormation 的可信访问权限StackSets**对话框中，键入**禁用**进行确认，然后选择**禁用可信访问权限**。

1. 如果您仅是的管理员 AWS Organizations，请告知管理员他们现在可以使用服务控制台或工具禁止 AWS Organizations 使用该服务。 AWS CloudFormation StackSets 

------
#### [ AWS CLI, AWS API ]

**使用 Organizations CLI/SDK 禁用信任服务访问权限**  
您可以使用以下 AWS CLI 命令或 API 操作来禁用可信服务访问权限：
+ AWS CLI: [disable-aws-service-access](https://docs.aws.amazon.com/cli/latest/reference/organizations/disable-aws-service-access.html)

  运行以下命令在 Organiz AWS CloudFormation StackSets ations 中禁用可信服务。

  ```
  $ aws organizations disable-aws-service-access \
      --service-principal stacksets.cloudformation.amazonaws.com
  ```

  如果成功，此命令不会产生任何输出。
+ AWS API：[禁用AWSService访问权限](https://docs.aws.amazon.com/organizations/latest/APIReference/API_DisableAWSServiceAccess.html)

------

## 为 CloudFormation 堆栈集启用委托管理员账户
<a name="integrate-enable-da-cloudformation"></a>

将成员账户指定为组织的委托管理员时，该账户中的用户和角色可以对 CloudFormation Stacksets 执行管理操作，否则只能由组织管理账户中的用户或角色执行操作。这可以帮助您将组织管理与 CloudFormation 堆栈集的管理分开。

有关如何将成员账户指定为组织中的 CloudFormation Stacksets，请参阅《AWS CloudFormation 用户指南》**中的[注册委托管理员](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html)。