【问题标题】:How do I add SQS IAM for my Lambda function?如何为我的 Lambda 函数添​​加 SQS IAM?
【发布时间】:2017-05-07 21:08:37
【问题描述】:

我能够让它与 serverless.yml 一起工作:

  iamRoleStatements:
    - Effect: "Allow"
      Action:
        - "sqs:SendMessage"
        - "sqs:ListQueues"
      Resource: "arn:aws:sqs:us-east-1:*:*"

但我只想将它应用于某个功能。我该怎么做?

【问题讨论】:

    标签: amazon-web-services amazon-iam serverless-framework


    【解决方案1】:

    docs 开始,您需要在resources 下创建函数角色,并在您的函数中引用这个新角色。

    例子:

    service: my-test
    
    provider:
      name: aws
      runtime: nodejs6.10
    
    functions:
      hello:
        role: mySQSRole
        handler: handler.hello
    
    resources:
      Resources:
        mySQSRole:
          Type: AWS::IAM::Role
          Properties:
            RoleName: mySQSRole
            AssumeRolePolicyDocument:
              Version: '2012-10-17'
              Statement:
                - Effect: Allow
                  Principal:
                    Service:
                      - lambda.amazonaws.com
                  Action: sts:AssumeRole
            Policies:
              - PolicyName: myPolicyName
                PolicyDocument:
                  Version: '2012-10-17'
                  Statement:
                    - Effect: Allow
                      Action:
                        - sqs:SendMessage
                        - sqs:ListQueues
                      Resource: "arn:aws:sqs:us-east-1:*:*"
    

    【讨论】:

      猜你喜欢
      • 2019-03-27
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 2021-10-13
      • 1970-01-01
      • 2020-04-27
      相关资源
      最近更新 更多