【问题标题】:Can't deploy Lambda Function in AWS无法在 AWS 中部署 Lambda 函数
【发布时间】:2018-04-24 22:06:51
【问题描述】:

我正在尝试执行 serverless deploy 命令来部署我的 lambda 函数。但它正在显示

用户无权执行:cloudformation:UpdateStack on 资源:arn:aws:cloudformation:ap-south-1

部署 lambda 函数应附加什么策略?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cloudformation


    【解决方案1】:

    您用于部署无服务器模板的 AWS 用户应具有 cloudformation 的 updateStack 权限。

    { “效果”:“允许”, "动作": "cloudformation:UpdateStack", “资源”:“*” }

    使用policy simulator 检查用户是否具有所需的权限。

    【讨论】:

    • 能否详细告诉我如何设置权限
    • @Dnyanesh 在 IAM 中创建一个新策略 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudformation :*”,“资源”:“*”}]}。这提供了对 cloudformation 的完全许可。将此策略添加到您用于部署的用户。
    【解决方案2】:

    我只是创建了一个名为“serverless-admin”的用户,只有“Programmatic Access”,并附加了“AdministratorAccess”策略。我没有检查“AWS 管理控制台访问”功能。然后只需写下“密钥”和“秘密”,然后将其用于配置无服务器 aka aws 客户端。

    通过这种方式,您可以确保在部署堆栈时,无服务器所做的一切都是允许的。也许你可以做得更严格,但这样你就不会遇到任何问题。

    【讨论】:

    • 我建议不要创建具有完全管理员权限的部署用户,尤其是当您要将密钥和秘密存储在某处时。使用当前配置文件进行部署,或者创建仅具有所需访问权限的部署用户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 2021-09-28
    • 1970-01-01
    • 2023-03-09
    • 2021-04-08
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多