2017-05-07 9 views
1

는 내가 serverless.yml 작업이를 얻을 수있었습니다 :람다 함수에 SQS IAM을 어떻게 추가합니까?

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

을하지만 난 단지 특정 기능에 적용 할 수 있습니다. 어떻게해야합니까?

답변

0

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:*:*"