5

我正在通过 java 应用程序将文本文件上传到 Amazon s3 存储桶。我想为每个人设置读取该文件的权限。有谁知道如何做到这一点 ?或引导我到一些适当的资源?

4

1 回答 1

30

您可以创建使所有资源(或与通配符匹配的资源)可用的存储桶策略。

单击 aws S3 控制台上的存储桶属性,然后将存储桶策略编辑为:

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "auniqueid",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bucket/*"
        }
    ]
}

参数中bucketResource位置是您的存储桶名称。

您还可以通过 Java API 为特定文件设置公共权限:

PutObjectRequest por = new PutObjectRequest(bucketName, key, file);
por.setCannedAcl(CannedAccessControlList.PublicRead);
s3.putObject(por);
于 2012-11-09T00:42:44.563 回答