【问题标题】:Why I’m getting an `AccessDenied` when trying to upload to my S3 bucket with `PutObject` permissions?为什么我在尝试使用“PutObject”权限上传到我的 S3 存储桶时收到“AccessDenied”?
【发布时间】:2019-08-14 16:14:14
【问题描述】:

知道为什么我在尝试上传到我的 S3 存储桶时收到 AccessDenied 错误吗?

serverless.yml:

service: foo-service

custom:
  bucket: my-bucket-name

provider:
  name: aws
  iamRoleStatements:
    - Effect: Allow
      Action:
        - s3:PutObject
      Resource: "arn:aws:s3:::${self:custom.bucket}/*"

functions:
  hello:
    handler: handler.hello
    environment:
      BUCKET: ${self:custom.bucket}

我正在尝试将具有public-read 权限的文件添加到 S3。

【问题讨论】:

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


    【解决方案1】:

    s3:PutObject 权限单独允许您将项目添加到 S3 存储桶,但如果您配置任何 ACL 属性,则需要额外的权限 s3:PutObjectAcl

    应该是这样的:

    provider:
      name: aws
      iamRoleStatements:
        - Effect: Allow
          Action:
            - s3:PutObject
            - s3:PutObjectAcl
          Resource: "arn:aws:s3:::${self:custom.bucket}/*"
    

    【讨论】:

      猜你喜欢
      • 2016-12-11
      • 2017-11-06
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 2020-08-12
      • 1970-01-01
      相关资源
      最近更新 更多