AWS CloudFormation:将 S3 存储桶删除策略应用于所有存储桶

AWS CloudFormation:将 S3 存储桶删除策略应用于所有存储桶

我正在尝试找到一种方法来提供额外的保护级别,以防止 S3 存储桶被意外删除。我想实施存储桶策略,但我想通过云信息来实现,这样如果添加了新的存储桶,我只需再次运行脚本并将相同的策略应用于新存储桶即可。

我找到了这个帖子serverfault 帖子关于如何创建存储桶策略以防止删除存储桶,因此将策略添加到单个存储桶非常简单。如何让它在 cloudformation 脚本中工作,以便它适用于所有 S3 存储桶?为每个存储桶添加一个语句很容易,但如果添加额外的存储桶,这似乎不太容易维护。

是否有可能创建范围这会将每个存储桶显示为一个复选框并以此方式应用策略吗?

谢谢!

答案1

CloudFormation 没有处理通配符和循环或“查找内容”的功能。CloudFormation 模板中的所有内容都需要逐一明确指定。

我认为最接近的做法是使用存储桶策略模板。该模板将以单个存储桶作为参数。

然后,当您想要应用存储桶策略时,您将创建一个新的 CloudFormation 堆栈,并以新的存储桶作为参数。

方案一:

您可以创建一个包含 S3 存储桶 + 策略的 CloudFormation 堆栈。然后,每当需要新存储桶时,就为其创建一个堆栈,然后它将自动应用策略。

方案 2:

您可以使用自动化工具来完成这项工作。像 Skeddly 这样的工具可以查找并应用存储桶策略。

免责声明:我与 Skeddly 服务有关联。

相关内容