amazon-web-services - 仅通过删除 CloudFormation 堆栈来允许删除 AWS 资源
问题描述
请帮助解决这个案例:
有一个 CF 堆栈可以创建一些 AWS 资源(由管理员帐户创建)。有一个 AWS 用户(高级用户)允许删除 CF 堆栈。
我的目标:
允许用户通过删除 CF 堆栈删除 CF 堆栈和所有创建的资源。拒绝用户从资源控制台删除(和修改)资源。
问题:
如果用户只有 cloudformation:DeleteStack 权限,他只能发起删除,因为他没有删除资源的权限(例如,lambda:DeleteFunction) 如果他有这些权限,他可以从资源控制台删除资源(例如,Lambda控制台),不仅通过 CF 堆栈删除。
有任何想法吗?
解决方案
CloudFormation 可以承担一个角色来完成其工作:https ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html
因此,创建一个具有部署堆栈所需的所有权限的角色,并确保它只能由 CloudFormation 承担。然后授予该用户创建和删除堆栈的权限,以及列出角色和执行创建/删除所需的任何其他内容(您必须进行一些试验,因为某些必需的权限并不明显) .
推荐阅读
- ios - 从 UITableViewCell Tap Segue 时传递信息以更改另一个 ViewController 中的变量
- java - 如何使用 ORMLite 在 SQLite 中持久化 JavaFX 属性?
- php - 无法将 404、403 和 401 重定向到自定义页面 (loader.php)
- sql-server - 获取 SQL Server 中的所有表、视图和存储过程
- ruby-on-rails - 如何在rails中获得模型的前5名?
- wso2 - WSO2 EI 6.6.0 类调解器无法使用 SOAP 调用返回内容
- python - 将第 3 方 json 反序列化为 python 类对象
- sql - SQL,Postgres:如何从非正态分布中获得百分位数?
- ruby-on-rails - NameError(未初始化的常量 SnowplowTracker::SelfDescribingJson):在 ruby 中制作扫雪机跟踪器时
- vba - “编译错误:参数不是可选的”尝试在 VBA 中检索 Shape.ScaleHeight 值时出错