2

我已经创建了 aws3 存储桶并成功将文件上传到其中。我想在存储桶中创建两个文件夹(一个用于存储公共文件,另一个用于存储私有文件)。如何设置文件夹访问私有或公共。

4

1 回答 1

2

我假设您正在从 AWS 控制台尝试。在这种情况下,只需右键单击要公开的文件夹。在右键单击时,应该有一个“公开”选项,应该将其公开。

使用 Java 编程: 如果要制作文件夹(这是 S3 技术术语中的关键),您需要使用“Canned ACL.

因此,您的代码应如下所示: s3client.putObject(...).withCannedAcl(CannedAccessControlList.PublicRead)

请参阅参考https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl

正如您在评论中提到的,每个人都应该拥有对公用文件夹的读取权限,在这种情况下,有一个存储桶级别的策略,授予每个人“公共”命名文件夹访问权限。

政策示例: 示例:

    {
    "Version":"2012-10-17",
    "Statement": [
        {
            "Effect":"Allow",
            "Principal": "*",
            "Action":["s3:GetObject"],
            "Resource":["arn:aws:s3:::test-b11/public/*"]
        }
    ]
} 

其中存储桶名称为“test-b11”,公用文件夹为“public”

在控制台中,单击一个存储桶,转到“权限”选项卡,然后单击需要上传策略的“存储桶策略”。

于 2018-07-11T12:14:30.197 回答