【问题标题】:Policy for Cloudformation stack creationCloudformation 堆栈创建策略
【发布时间】:2021-10-12 21:43:29
【问题描述】:

我正在为运行 cloudformation/sam 制定一个角色/策略,以尽可能地限制访问。是否有一组通用的策略操作可用于运行 create-stack?

这是针对我在应用程序运行期间使用 cloudformation 模板创建基础架构的代码构建。

目前我有一个允许完全访问的策略,因为它需要在堆栈中创建基础架构。

但是 cloudformation 只有一部分操作可以实际执行,并且不需要完全访问权限。例如,CF 不能将项目放入 dynamodb 表中。

所以这让我想到,也许有一个基本角色/政策仅限于 cloudformation 能够执行的操作。

【问题讨论】:

  • 你能详细说明一下这个问题吗?您是否正在创建系统角色以分配给特定堆栈?您是否正在创建分配给用户的策略并且想要限制他们的访问?如果是第二个选项,用户是否手动执行这些 cfn 堆栈?
  • 感谢@stijndepestel。我正在创建的用户角色实际上是用于我在应用程序运行时使用 cloudformation 模板创建基础架构的代码构建。目前我刚刚授予它完全访问权限,因为它需要在堆栈中创建基础设施。但我只是认为 cloudformation 可以实际执行的操作只有一个子集。例如,您不能将项目放入 dynamodb 表中。所以这让我想到,也许有一个基本角色/政策仅限于 cloudformation 能够执行的操作。
  • 您能否更新问题本身,以便将来的访问者清楚您到底在问什么?

标签: amazon-cloudformation amazon-iam


【解决方案1】:

如果您必须为服务(例如 CodePipeline 或 CodeBuild)分配角色以部署堆栈,您不仅需要分配必要的 CloudFormation 权限(例如 cloudformation:CreateStackcloudformation:ExecuteChangeSet),而且还有部署 CloudFormation 堆栈本身所需的权限。

当您手动部署堆栈时,CloudFormation 将使用您的用户权限来验证对您正在部署/更新的服务的访问权限。当您从另一个 AWS 服务启动操作时,会发生同样的事情,但使用来自服务角色的服务。 (除非您专门为 CloudFormation 堆栈分配角色,documentation)。

请记住,如果您正在构建这样的角色,CloudFormation 可能需要比您想象的更多的权限,例如额外的读取权限、向资源添加标签的权限、删除和/或更新这些资源的权限重新删除/更新资源等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2020-03-11
    • 2018-10-01
    • 2019-12-13
    相关资源
    最近更新 更多