【问题标题】:Getting error while deploying lambda function using serverless framework使用无服务器框架部署 lambda 函数时出错
【发布时间】:2021-10-12 09:48:00
【问题描述】:

我正在尝试使用无服务器框架部署一个 hello world lambda 函数。

但我得到以下错误,即使我没有尝试从我的代码创建任何角色,我只是使用具有所有必需权限的现有角色。

  An error occurred: EnterpriseLogAccessIamRole - API: iam:CreateRole User: arn:
aws:iam::id:user/userid is not authorized to perform: iam:Create
Role on resource: arn:aws:iam::id:role/lambdatest-dev-EnterpriseLogAcc
essIamRole-5M5Q3LBFTAP4.

下面是我的 yml 文件。

service: lambdatest
# app and org for use with dashboard.serverless.com
app: lambdatest-app
org: orgname

provider:
  name: aws
  role: arn:aws:iam::id:role/rolename
  runtime: python3.8

# you can overwrite defaults here
  stage: dev
  region: eu-west-1

# you can add statements to the Lambda function's IAM Role here
  # iamRoleStatements:
    # - Effect: "Allow"
      # Action:
        # - "s3:ListBucket"
      # Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ]  }
    # - Effect: "Allow"
      # Action:
        # - "s3:PutObject"

      # Resource:
        # rolename:
          # Type: AWS::IAM::arn:aws:iam::id:role/rolename
          #etc etc
        # functions:
          # hello:
            # role: arn:aws:iam::id:role/rolename
        # Fn::Join:
          # - ""
          # - - "arn:aws:s3:::"
            # - "Ref" : "ServerlessDeploymentBucket"
            # - "/*"


functions:
  hello:
    handler: handler.hello

【问题讨论】:

  • 你得到什么错误?
  • 我已经更新了帖子本身的错误和yml代码。

标签: aws-lambda serverless-framework aws-serverless


【解决方案1】:

这意味着您用于运行框架的用户凭证(您使用 $ serverless config credentials 配置的用户凭证)没有适当的 IAM 权限。

确保您使用的用户具有IAMFullAccess 资源策略。

【讨论】:

    【解决方案2】:

    您拥有角色:arn:aws:iam::id:role/rolename。也许您需要将其替换为真实的角色名称。

    【讨论】:

      猜你喜欢
      • 2021-10-07
      • 2019-03-02
      • 2021-01-07
      • 2021-06-08
      • 1970-01-01
      • 2021-02-27
      • 2020-07-19
      • 2020-10-20
      • 2021-05-12
      相关资源
      最近更新 更多