我已经创建了 aws3 存储桶并成功将文件上传到其中。我想在存储桶中创建两个文件夹(一个用于存储公共文件,另一个用于存储私有文件)。如何设置文件夹访问私有或公共。
1 回答
我假设您正在从 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”
在控制台中,单击一个存储桶,转到“权限”选项卡,然后单击需要上传策略的“存储桶策略”。