我创建了包含数千个对象的 AWS S3 存储桶,最初访问策略仅限于经过身份验证的用户,但后来由于某些要求,我们需要使此存储桶中的所有对象公开可见。为此,我们进行了以下更改。
- 添加了具有“列表”访问权限的新权限集“所有人”。
- 向存储桶添加了新策略。
**
{
"Version": "2012-10-17",
"Id": "Policy1111",
"Statement": [
{
"Sid": "makeitpublic",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucketname/*"
}
]
}
**
之后,我可以看到存储桶中的某些对象是公开的,而其他对象则不能。我的问题是,将此存储桶设为“公开”后,新权限将应用于所有现有对象还是仅适用于新上传的对象?
如果是,那么有没有办法批量更改存储桶中对象的权限。
答案1
我认为您应该检查“权限”选项卡下的 S3 Web 控制台以验证旧对象策略。通常,API 发布的策略对新上传的对象有效,但通过 Web 控制台更改存储桶权限应该可以解决这个问题。