如何防止CloudFormation堆栈被删除(意外)?

时间:2014-03-17 15:35:48

标签: amazon-web-services amazon-cloudformation

CloudFormation堆栈非常适合自动化,但我看到的问题是它们可以轻松删除,反过来级联删除其他资源。

我已经找到了后一个问题的解决方案,可以通过修改它的删除策略来保护每个资源。但是整个堆栈怎么样?可以保护吗?

4 个答案:

答案 0 :(得分:3)

我认为唯一的方法是限制您使用的IAM用户的权限。您可以从所有相关用户中删除“删除堆栈”权限。

答案 1 :(得分:1)

AFAIK没有可用于堆栈本身的删除保护。您可以做的最好是在每个资源级别使用"DeletionPolicy" : "Retain"

答案 2 :(得分:1)

2017年9月他们added "Termination Protection"。您可以通过consoleaws-cli启用它。您还可以使用" cloudformation:UpdateTerminationProtection"来控制角色是否可以设置它。权限。

答案 3 :(得分:0)

保护它的另一种方法是创建一个管理堆栈的包装器应用程序,然后围绕CloudFormation创建保护策略。例如,您的包装器应用程序可以具有stack的数据库模型,如下所示:

String: name -- name of the stack
String: template -- JSON template for the stack
String: createdby -- name of the user that created the stack
Boolean: protected -- true if protected.

这将要求所有用户使用此应用程序来创建/删除堆栈,并且实施的工作比AWS IAM要多得多,但对于某些人来说,它可能符合要求。

希望它有所帮助。