为什么在尝试使用“PutObject”权限上传到我的 S3 存储桶时出现“AccessDenied”?
Why I’m getting an `AccessDenied` when trying to upload to my S3 bucket with `PutObject` permissions?
知道为什么我在尝试上传到我的 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}/*"
知道为什么我在尝试上传到我的 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}/*"