【发布时间】:2020-08-05 18:23:38
【问题描述】:
【问题讨论】:
-
您可以分享您正在使用的存储桶策略吗?
标签: amazon-web-services amazon-s3
【问题讨论】:
标签: amazon-web-services amazon-s3
您提到的link 仍然可以正常工作!
连同“Bucket Public Access”选项,您应该在“Bucket Policy”中粘贴以下存储桶策略:
{
"Version":"2012-10-17",
"Statement":[{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal":"*",
"Action":[
"s3:GetObject",
"s3:PutObject"
],
"Resource":[
"arn:aws:s3:::your-bucket-arn-here/*"
]
}]
}
这会将读取和写入操作授予您的存储桶。
请记住更改您存储桶的 Amazon 资源名称 (arn),其中存储桶策略中的键指向 “资源”。
您可以在存储桶策略粘贴字段上方找到存储桶的 arn。
此外,您可以使用AWS policies generator 来获得更多访问权限。
希望能帮到你。
【讨论】:
如果您的存储桶策略使用以下内容,那么至少将其设置为允许公共读写。请注意,这是匿名的,因此任何人都可以对存储桶执行读取或写入操作,您仍需对此负责。
{
"Version":"2012-10-17",
"Statement":[{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal":"*",
"Action":[
"s3:GetObject",
"s3:PutObject"
],
"Resource":[
"arn:aws:s3:::bucketname/*"
]
}]
}
请注意,如果涉及 ACL,您还需要应用 s3:PutObjectAcl 的权限。此外,ACL 需要授予公共读/写权限,这会违反直觉,因为您使用存储桶策略来执行此操作。
如果您在更新存储桶策略时访问被拒绝,您的用户将被禁止执行该操作。
发生这种情况的原因有几个:
如果您无法修改您的权限,或者您的帐户是通过服务提供给您的,您需要与他们沟通。
【讨论】:
"Principal" : { "AWS" : "*" }怎么样