本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CloudFormation 堆栈策略
堆栈策略有助于防止堆栈资源在堆栈更新过程中被意外更新或删除。堆栈策略是一个 JSON 文档,该文档定义可对指定资源执行的更新操作。默认情况下,任何具有cloudformation:UpdateStack权限的 IAM 委托人都可以更新 AWS CloudFormation 堆栈中的所有资源。更新可能会导致中断,也可能会完全删除和替换资源。您可以使用堆栈策略来帮助配置最低权限许可。堆栈策略可以提供额外的保护层。
默认情况下,堆栈策略有助于保护堆栈中的所有资源。但是,堆栈策略的主要好处是它们为堆 CloudFormation 栈中部署的每个 AWS 资源提供了精细的控制。您可以使用堆栈策略来帮助仅保护堆栈中的特定资源,并允许更新或删除同一堆栈中的其他资源。要允许对特定资源进行更新,您可在堆栈策略中包含针对这些资源的显式 Allow 语句。
堆栈策略为它们所连接的 CloudFormation 堆栈提供预防性控制。每个堆栈只能有一个堆栈策略,但您可以使用该堆栈策略来帮助保护该堆栈内的所有资源。您可以将堆栈策略应用于多个堆栈。
例如,假设您有一个管线,该管线生成敏感构件并将其临时存储在 Amazon Simple Storage Service(Amazon S3)存储桶中以供进一步处理。S3 存储桶由配置 CloudFormation,并且所有必要的安全控制措施都已到位。如果没有堆栈策略,开发者可能会有意或无意地将管线构件的目标更改为不太安全的 S3 存储桶,并暴露敏感数据。如果您对堆栈应用了堆栈策略,则它会阻止授权用户执行不必要的更新或删除操作。