amazon-cloudformation - Cloudformation 堆栈创建策略
问题描述
我正在为运行 cloudformation/sam 制定一个角色/策略,以尽可能地限制访问。是否应该使用一组通用的策略操作来运行 create-stack?
这是针对我在应用程序运行时使用 cloudformation 模板创建基础架构的代码构建。
目前我有一个允许完全访问的策略,因为它需要在堆栈中创建基础设施。
但是,cloudformation 只有一部分操作可以实际执行,并且不需要完全访问权限。例如,CF 不能将项目放入 dynamodb 表中。
所以这让我想到,也许有一个基本角色/政策仅限于 cloudformation 能够执行的操作。
解决方案
如果您必须为服务(例如 CodePipeline 或 CodeBuild)分配角色以部署堆栈,您不仅需要分配必要的 CloudFormation 权限(例如cloudformation:CreateStack
或cloudformation:ExecuteChangeSet
),还需要分配部署 CloudFormation 所需的权限堆栈本身。
当您手动部署堆栈时,CloudFormation 将使用您的用户权限来验证对您正在部署/更新的服务的访问权限。当您从另一个 AWS 服务启动操作时,会发生同样的事情,但使用来自服务角色的服务。(除非您专门为 CloudFormation 堆栈分配角色,否则请参阅文档)。
请记住,如果您正在构建这样的角色,CloudFormation 可能需要比您想象的更多的权限,例如额外的读取权限、向资源添加标签的权限、删除和/或更新这些资源时的权限/更新资源等
推荐阅读
- angular - ck编辑器反应形式角度6不起作用
- python - NameError:名称“fit_classifier”未定义
- google-app-engine - 以安全的方式在 App Engine 应用程序中获取 OAuth2 客户端密钥
- android - Onclick of Fab Button 我有一个表单,我必须将它保存在 SQL 中
- java - 数字分解
- python - 使用 matplotlib Slider 创建具有不同非等距参数的交互式绘图
- angular - 如何在 Angular 2+ 中使用 HostListener 查找浏览器选项卡是否集中
- apache-kafka - 如何在 Select 语句中选择记录的键
- angular - Router.Navigate 不调用组件中的服务
- java - 快速编辑私有变量