我已经创建了aws3存储桶,并将文件成功上传到其中。我想在存储桶中创建两个文件夹(一个用于存储公共文件的文件夹,另一个用于存储私有文件的文件夹)。如何设置对文件夹的访问权限为私有或公共。
答案 0 :(得分:0)
我假设您正在从AWS控制台尝试。在这种情况下,只需右键单击要公开的文件夹。右键单击时,应有一个选项“ make-public”,该选项应将其公开。
使用Java编程: 如果要制作文件夹(这是S3技术术语的关键),您需要使用“罐头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”
在控制台中,单击存储桶,转到“权限”标签,然后在需要上传策略的位置单击“存储桶策略”。