

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

# CloudFormation 堆栈策略
<a name="cloudformation-stack-policies"></a>

堆栈策略有助于防止堆栈资源在堆栈更新过程中被意外更新或删除。*堆栈策略*是一个 JSON 文档，该文档定义可对指定资源执行的更新操作。默认情况下，任何具有`cloudformation:UpdateStack`权限的 IAM 委托人都可以更新 AWS CloudFormation 堆栈中的所有资源。更新可能会导致中断，也可能会完全删除和替换资源。您可以使用堆栈策略来帮助配置最低权限许可。堆栈策略可以提供额外的保护层。

默认情况下，堆栈策略有助于保护堆栈中的所有资源。但是，堆栈策略的主要好处是它们为堆 CloudFormation 栈中部署的每个 AWS 资源提供了精细的控制。您可以使用堆栈策略来帮助仅保护堆栈中的特定资源，并允许更新或删除同一堆栈中的其他资源。要允许对特定资源进行更新，您可在堆栈策略中包含针对这些资源的显式 `Allow` 语句。

堆栈策略为它们所连接的 CloudFormation 堆栈提供预防性控制。每个堆栈只能有一个堆栈策略，但您可以使用该堆栈策略来帮助保护该堆栈内的所有资源。您可以将堆栈策略应用于多个堆栈。

例如，假设您有一个管线，该管线生成敏感构件并将其临时存储在 Amazon Simple Storage Service（Amazon S3）存储桶中以供进一步处理。S3 存储桶由配置 CloudFormation，并且所有必要的安全控制措施都已到位。如果没有堆栈策略，开发者可能会有意或无意地将管线构件的目标更改为不太安全的 S3 存储桶，并暴露敏感数据。如果您对堆栈应用了堆栈策略，则它会阻止授权用户执行不必要的更新或删除操作。

**Topics**
+ [配置堆栈策略](configuring-stack-policies.md)
+ [设置和覆盖堆栈策略](setting-and-overriding-stack-policies.md)
+ [限制和要求堆栈策略](limiting-and-requiring-stack-policies.md)