我通过java应用程序将文本文件上传到Amazon s3存储桶。我想为每个人设置该文件的读取权限。有谁知道如何做到这一点 ?或指导我一些适当的资源?
答案 0 :(得分:27)
您可以创建一个存储桶策略,使所有资源(或匹配通配符的资源)可用。
在aws S3控制台上单击您的存储桶属性,然后将存储桶策略编辑为:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "auniqueid",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket/*"
}
]
}
bucket
参数中的Resource
是您的广告位名称。
您还可以通过Java API为特定文件设置公共权限:
PutObjectRequest por = new PutObjectRequest(bucketName, key, file);
por.setCannedAcl(CannedAccessControlList.PublicRead);
s3.putObject(por);