

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

# 为最低权限访问配置基于身份的策略的最佳实践 CloudFormation
<a name="best-practices-identity-based-policies"></a>
+ 对于需要访问权限的 IAM 委托人 CloudFormation，您必须在操作权限需求 CloudFormation 与最低权限原则之间取得平衡。为了帮助您遵循最低权限原则，我们建议您为 IAM 主体定义基于身份的特定操作，以便该主体能够执行以下操作：
  + 创建、更新和删除堆 CloudFormation 栈。
  + 传递一个或多个具有部署 CloudFormation 模板中定义的资源所需权限的服务角色。这 CloudFormation 允许代入服务角色并代表 IAM 委托人配置堆栈中的资源。
+ *权限升级*是指具有访问权限的用户能够提升其权限级别并危及安全性。最低权限是一种重要的最佳实践，可帮助防止权限升级。由于 CloudFormation 支持配置 [IAM 资源类型](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)（例如策略和角色），因此 IAM 委托人可以通过以下方式 CloudFormation 提升其权限：
  + **使用 CloudFormation 堆栈为 IAM 委托人配置高特权权限、策略或证书** — 为了防止这种情况，我们建议使用权限护栏来限制 IAM 委托人的访问级别。*权限护栏*设置基于身份的策略可以授予 IAM 主体的最大权限。这有助于防止故意和无意的权限升级。您可以使用以下策略类型作为权限护栏：
    + 权限边界定义基于身份的策略可以授予 IAM 主体的最大权限。有关更多信息，请参阅 [IAM 实体的权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。
    + 在中 AWS Organizations，您可以使用[服务控制策略](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) (SCPs) 来定义组织级别的最大可用权限。 SCPs 仅影响 IAM 角色和由组织中的账户管理的用户。您可以附加 SCPs 到帐户、组织单位或组织根目录。有关更多信息，请参阅 [SCP 对权限的影响](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html#scp-effects-on-permissions)。
  + **创建提供广泛权限的 CloudFormation 服务角色** — 为防止出现这种情况，我们建议您在基于身份的策略中添加以下精细权限，以供将使用的 IAM 委托人使用： CloudFormation
    + 使用`cloudformation:RoleARN`条件键控制 IAM 委托人可以使用哪些 CloudFormation 服务角色。
    + 仅允许对 IAM 委托人需要传递的特定 CloudFormation服务角色执行`iam:PassRole`操作。

  有关更多信息，请参阅本指南中的[向 IAM 委托人授予使用 CloudFormation 服务角色的权限](service-roles-for-cloudformation.md#permissions-use-cloudformation-service-role)。
+ 使用权限护栏（例如权限边界和）限制权限 SCPs，并使用基于身份或基于资源的策略来授予权限。