我已经设置了一个S3存储桶以允许匿名上传。目标是允许上传但不下载,但我发现的问题是,我不仅不能阻止下载这些文件,而且我不拥有它们,也不能以任何方式删除副本或操纵它们。我能够摆脱它们的唯一方法是删除桶。
这是政策:
{
"Version": "2008-10-17",
"Id": "policy",
"Statement": [
{
"Sid": "allow-public-put",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::legendstemp/*"
}
]
}
这样可行,但我无法再使用亚马逊控制台或以编程方式访问这些文件。
存储桶策略也不适用于这些文件,因为文件所有者与存储桶拥有者不同。我也不能取得他们的所有权。
如何设置存储桶策略以允许匿名上传但不下载?
答案 0 :(得分:3)
我知道自从被问到这一段时间已经有一段时间了,但是当我试图让自己开始工作的时候,我遇到了这个问题,并且在一段时间内写了这篇文章:
https://gist.github.com/jareware/d7a817a08e9eae51a7ea
它的要点(嘿!)是你可以进行匿名上传并禁止其他操作,但您将无法使用经过身份验证的请求执行操作。至少据我所知。
希望这有帮助。