我想使用云形式。package
和deploy
功能,但是如何确定运行这些权限需要哪些IAM权限?
通常,我如何确定需要哪些权限?
基于您将其用于lambda的事实,我猜这与您的其他问题有关 cloudformation以设置CodePipeline/codebuild来部署SAM应用程序。
在该问题的答案中,我引用了一个示例云形式模板。如果您从该示例中查看CloudFormationservicePolicy,则可能会找到所需的一切。
对于这个特定问题的答案,有两个部分
to 软件包您需要:
- 部署伪像(
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