知道为什么我在尝试上传到我的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添加文件。
单独使用s3:PutObject
权限可以将项目添加到S3存储桶,但是如果配置任何ACL属性,则需要额外的权限s3:PutObjectAcl
。
它应该是这样的:
provider:
name: aws
iamRoleStatements:
- Effect: Allow
Action:
- s3:PutObject
- s3:PutObjectAcl
Resource: "arn:aws:s3:::${self:custom.bucket}/*"