配置要使用的最低权限权限 CloudFormation - AWS 规范性指导

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

配置要使用的最低权限权限 CloudFormation

本章介绍配置访问和使用 AWS CloudFormation 服务的权限的选项。

当用户或服务通过配置 AWS 资源时 CloudFormation,第一步是通过 AWS Identity and Access Management (IAM) 委托人调用该 CloudFormation 服务。此 IAM 委托人必须拥有创建 CloudFormation 堆栈的权限。接下来,IAM 委托人使用以下方法之一通过以下方式配置资源 CloudFormation:

  • 如果 IAM 委托人未将堆栈操作传递给 CloudFormation 服务角色,则 CloudFormation 使用 IAM 委托人的证书执行堆栈操作。这是默认值。因此,除了执行 CloudFormation 堆栈操作的权限外,IAM 委托人还需要配置他们将要使用的 CloudFormation 模板中定义的资源的权限。例如,如果 IAM 委托人无权创建亚马逊弹性计算云 (Amazon EC2) 实例,那么他们就无法创建预置亚马逊 EC2 实例的 CloudFormation 堆栈。

  • 如果 IAM 委托人将堆栈操作传递给 CloudFormation 服务角色,则 CloudFormation 使用该服务角色执行堆栈操作并在 CloudFormation 模板中配置资源。此 CloudFormation 服务角色的定义应具有代表 IAM 委托人置备的权限。 AWS 服务 这种方法可避免向 IAM 委托人直接授予预置 CloudFormation 模板中定义的 AWS 资源的权限。IAM 委托人需要 CloudFormation 堆栈创建权限,并 CloudFormation 使用服务角色的策略而不是 IAM 委托人的策略进行调用。

通过使用服务角色方法和最小权限原则,您可以标准化 AWS 环境中的资源配置,并要求用户通过 CloudFormation IaC 配置资源。由于附加到 IAM 委托人的策略不包含直接配置 AWS 资源的权限,因此用户必须使用 CloudFormation 来预配置资源。

本章概述了用于配置和管理对 CloudFormation 服务和 CloudFormation 堆栈的访问的以下机制:

  • 适用于 CloudFormation 的基于身份的策略— 使用此类策略来配置哪些 IAM 委托人可以访问 CloudFormation 以及他们可以执行哪些操作。 CloudFormation

  • 的服务角色 CloudFormation— 创建一个服务角色, CloudFormation 允许代表部署堆栈的 IAM 委托人创建、更新或删除堆栈资源。服务角色是在 IAM 中创建的,可以与一个或多个堆栈关联。

  • CloudFormation 堆栈策略— 使用此类策略来确定何时可以更新堆栈。这种类型的策略可以帮助防止堆栈资源被意外更新或删除。堆栈策略已创建并与中的 CloudFormation堆栈相关联。