【问题标题】:How do I identify what IAM permissions are required for AWS CloudFormation?如何确定 AWS CloudFormation 需要哪些 IAM 权限?
【发布时间】:2018-03-04 16:23:30
【问题描述】:

我想使用 CloudFormation。 packagedeploy 函数,但我如何确定运行这些函数需要哪些 IAM 权限?

一般来说,我如何确定需要哪些权限?

【问题讨论】:

  • 阅读介绍或教程,然后使用此参考docs.aws.amazon.com/IAM/latest/UserGuide/reference.html
  • 您的 CloudFormation 模板在做什么?您是否将堆栈作为 CloudFormation 服务角色执行?
  • @JamieStarke,它创建 lambda 资源等。目前我正在使用普通用户上传模板。我打算在未来使用 CI 来做这件事,如果是这样,我需要一个服务角色吗?
  • 大家都明白了吗?我有一个包含 VPC、Internet 网关和 ECS、ECR 和许多其他东西的大模板。手动确定要授予哪些权限可能真的很难。
  • @FaizuddinMohammed 不,我认为从我从答案和谷歌中了解到的情况来看,这是不可能的。我最后只是使用了相对广泛的权限。主要是使用项目前缀来限制我的资源

标签: amazon-web-services amazon-cloudformation amazon-iam


【解决方案1】:

基于您将其用于 Lambda 的事实,我猜这与您的其他问题有关 CloudFormation to setup CodePipeline/CodeBuild to deploy SAM application

在回答该问题时,我引用了Example CloudFormation Template。如果您查看该示例中的 CloudFormationServicePolicy,您可能会找到所需的一切。


对于这个特定问题的答案,有两个部分

打包,您需要:

  • 部署工件存储桶 (ArtifactBucket)
  • s3:PutObject 用户对ArtifactBucket 的权限

部署更难回答。在上面引用的CloudFormationServicePolicy 中,您可以找到我们使用 CloudFormation 部署函数的全套权限。至少,您需要:

  • iam:PassRole(假设您正在传递现有角色)
  • lambda:CreateFunction
  • lambda:UpdateFunctionCode
  • lambda:UpdateFunctionConfiguration
  • lambda:AddPermission
  • lambda:GetEventSourceMapping
  • lambda:CreateEventSourceMapping
  • lambda:DeleteEventSourceMapping

如果您通过控制台进行部署,您可能还需要:

  • iam:GetRole
  • iam:ListRole
  • lambda:GetFunction
  • lambda:GetFunctionConfiguration

【讨论】:

  • 有自动化的方法吗?
猜你喜欢
  • 2019-01-06
  • 2017-08-08
  • 1970-01-01
  • 2019-11-28
  • 2012-10-09
  • 2022-11-25
  • 1970-01-01
  • 2017-06-09
  • 2020-01-18
相关资源
最近更新 更多