Amazon CloudFormation StackSets 和 Amazon Organizations - Amazon Organizations
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon CloudFormation StackSets 和 Amazon Organizations

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

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

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

重要

委托管理员具有部署到组织中的账户的完全权限。管理账户不能限制委托管理员部署到特定 OU 或执行特定堆栈集操作的权限。

有关 StackSets 与 Organizations 集成的更多信息,请参阅《Amazon CloudFormation 用户指南》 Amazon CloudFormation StackSets中的 “使用”。

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

启用集成时,创建了一个服务相关角色

以下服务相关角色会在您启用信任访问权限时自动在组织的管理账户中创建。此角色允许 Amazon CloudFormation Stacksets 在组织中的账户中执行支持的操作。

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

  • 管理账户:AWSServiceRoleForCloudFormationStackSetsOrgAdmin

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

  • 成员账户:AWSServiceRoleForCloudFormationStackSetsOrgMember

有关创建堆栈集的更多详细信息,请参阅《Amazon CloudFormation 用户指南》 Amazon CloudFormation StackSets中的 “使用”。

服务相关角色使用的服务委托人

上一部分中的服务相关角色只能由为角色定义的信任关系授权的服务委托人担任。 Amazon CloudFormation Stacksets 使用的服务相关角色向以下服务主体授予访问权限:

  • 管理账户:stacksets.cloudformation.amazonaws.com

    只有在 StackSets 和 Organizations 之间禁用了可信访问权限后,才能修改或删除此角色。

  • 成员账户:member.org.stacksets.cloudformation.amazonaws.com

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

使用 Amazon CloudFormation Stacksets 启用信任访问权限

有关启用信任访问权限所需权限的信息,请参阅允许可信访问所需的权限

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

您只能使用启用可信访问 Amazon CloudFormation StackSets。

要使用 Amazon CloudFormation Stacksets 控制台启用可信访问,请参阅《 Amazon CloudFormation 用户指南》 Amazon Organizations中的 “使用启用可信访问”。

使用 Amazon CloudFormation Stacksets 禁用信任访问权限

有关禁用信任访问所需权限的信息,请参阅禁止可信访问所需的权限

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

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

重要

如果您以编程方式禁用可信访问(例如使用 Amazon CLI 或使用 API),请注意,这将移除权限。最好使用 Amazon CloudFormation 控制台禁用可信访问。

您可以使用 Amazon Organizations 控制台、运行 Organizations Amazon CLI 命令或在其中一个 Amazon 软件开发工具包中调用 Organizations API 操作来禁用可信访问。

Amazon Web Services Management Console
使用 Organizations 控制台禁用信任服务访问权限
  1. 登录 Amazon Organizations 控制台。您必须以 IAM 用户的身份登录,担任 IAM 角色;或在组织的管理账户中以根用户的身份登录(不推荐)。

  2. 在导航窗格中,选择服务

  3. Amazon CloudFormation StackSets在服务列表中选择。

  4. 选择 Disable trusted access(禁用信任访问权限)

  5. 在 “禁用可信访问 Amazon CloudFormation StackSets” 对话框中,键入 d isable 进行确认,然后选择 “禁用可信访问”。

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

Amazon CLI, Amazon API
使用 Organizations CLI/SDK 禁用信任服务访问权限

您可以使用以下 Amazon CLI 命令或 API 操作来禁用可信服务访问权限:

  • Amazon CLI: disable-aws-service-access

    您可以运行以下命令在 Organization Amazon CloudFormation StackSets s 中禁用可信服务。

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

    如果成功,此命令不会产生任何输出。

  • Amazon API:禁用 AWSServiceAccess

为 Amazon CloudFormation 堆栈集启用委托管理员账户

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

有关如何将成员账户指定为组织中的 Amazon CloudFormation Stacksets,请参阅《Amazon CloudFormation 用户指南》中的注册委托管理员