关于亚马逊网络服务:如何在serverless.yml中添加存储桶权限

How to add bucket permission in serverless.yml

我有以下serverless.yml文件,当我部署它时,它会给我在product-image-dev存储桶上拒绝的权限,如何在iamRoleStatements中设置权限,或者必须在其他位置设置权限。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
service: imagecrops

provider:
  name: aws
  runtime: nodejs4.3
  memorySize: 1024
  timeout: 20
  satege: dev

  iamRoleStatements:
      - Effect:"Allow"
        Action:
          -"s3:*"
        Resource:
          - {"Fn::Join" : ["", ["arn:aws:s3:::", {"Ref" :"ServerlessDeploymentBucket" } ]]}


package:
  include:
    - bin
    - libs
  exclude:
    - tests
    - serverless-nodejs-image

functions:
  cropImage:
    handler: handler.cropImage
    description: Crops images, from S3 bucket and puts into new folder
    events:
      - s3:
          bucket: product-images-dev
          event: s3:ObjectCreated:*
          rules:
            - prefix: uploads/

我如下更改了serverless.yml文件,它开始读取。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
service: imagecrops

provider:
  name: aws
  runtime: nodejs4.3
  memorySize: 1024
  timeout: 20
  satege: dev

  iamRoleStatements:
      - Effect:"Allow"
        Action:
          -"s3:*"
        Resource:
          - {"Fn::Join" : ["", ["arn:aws:s3:::", {"Ref" :"ServerlessDeploymentBucket" } ]]}
          -"arn:aws:s3:::product-images-dev/*"


package:
  include:
    - bin
    - libs
  exclude:
    - tests
    - serverless-nodejs-image

functions:
  cropImage:
    handler: handler.cropImage
    description: Crops images, from S3 bucket and puts into new folder
    events:
      - s3:
          bucket: product-images-dev
          event: s3:ObjectCreated:*
          rules:
            - prefix: uploads/