我正在通过 java 应用程序将文本文件上传到 Amazon s3 存储桶。我想为每个人设置读取该文件的权限。有谁知道如何做到这一点 ?或引导我到一些适当的资源?
问问题
7685 次
1 回答
30
您可以创建使所有资源(或与通配符匹配的资源)可用的存储桶策略。
单击 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);
于 2012-11-09T00:42:44.563 回答