我创建了一个 S3 存储桶,还通过 AWS API Gateway 创建了一个 API,用于将图像上传到该存储桶。 问题是,当我上传图像时,要查看该图像,我需要分别将每个图像的访问控制列表 (ACL) 更新为公开。 即使我将存储桶中的所有内容设置为公开权限,但我仍然必须更新每个图像中的 ACL 才能访问它们。如何将整个存储桶的访问级别设置为“公共(public)”一次?
这是我的存储桶权限:
访问:公开
阻止所有公共(public)访问:关闭
存储桶策略:
{
"Version": "2012-10-17",
"Id": "Policy1647249671911",
"Statement": [
{
"Sid": "Stmt1647249649218",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::mybucketname"
}
]
}
访问控制列表(ACL):
最佳答案
您当前的政策高度不安全,允许任何人对您的存储桶执行几乎任何操作,包括更改其政策或删除它。
correct公共(public)只读访问的存储桶策略是:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
]
}
]
}
关于amazon-web-services - 如何将上传到 S3 存储桶的所有文件的访问级别设置为 "Public"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71465558/