首页 > 解决方案 > 仅通过删除 CloudFormation 堆栈来允许删除 AWS 资源

问题描述

请帮助解决这个案例:

有一个 CF 堆栈可以创建一些 AWS 资源(由管理员帐户创建)。有一个 AWS 用户(高级用户)允许删除 CF 堆栈。

我的目标:

允许用户通过删除 CF 堆栈删除 CF 堆栈和所有创建的资源。拒绝用户从资源控制台删除(和修改)资源。

问题:

如果用户只有 cloudformation:DeleteStack 权限,他只能发起删除,因为他没有删除资源的权限(例如,lambda:DeleteFunction) 如果他有这些权限,他可以从资源控制台删除资源(例如,Lambda控制台),不仅通过 CF 堆栈删除。

有任何想法吗?

标签: amazon-web-servicesamazon-cloudformationamazon-iam

解决方案


CloudFormation 可以承担一个角色来完成其工作:https ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html

因此,创建一个具有部署堆栈所需的所有权限的角色,并确保它只能由 CloudFormation 承担。然后授予该用户创建和删除堆栈的权限,以及列出角色和执行创建/删除所需的任何其他内容(您必须进行一些试验,因为某些必需的权限并不明显) .


推荐阅读