我通过AWS API将文档上传到S3存储桶。工作正常。
上传的项目虽然标记为私有,但无法在线查看。我可以通过右键单击控制台中的文件并单击“公开”来解决此问题,或者使用API将其公开。
是否可以公开上传所有文件,因此我不必进行额外的API调用?
以下是存储桶权限的屏幕截图:
我不认为它与IAM有关,因为请求用户根本不是用户,而是公众。< / p>
由于
答案 0 :(得分:4)
这可以使用存储桶策略(点击屏幕截图中的存储桶策略)来完成。如,
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::examplebucket/*"]
}
]
}
(请参阅https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html上的“授予匿名用户的只读权限”)
这允许任何人(*
)对存储桶中的任何项目执行GetObject
,而不必为每个项目设置权限。