用于匿名上传的S3 Bucket Policy

时间:2014-01-10 03:28:52

标签: amazon-web-services amazon-s3

我已经设置了一个S3存储桶以允许匿名上传。目标是允许上传但不下载,但我发现的问题是,我不仅不能阻止下载这些文件,而且我不拥有它们,也不能以任何方式删除副本或操纵它们。我能够摆脱它们的唯一方法是删除桶。

这是政策:

{
    "Version": "2008-10-17",
    "Id": "policy",
    "Statement": [
        {
            "Sid": "allow-public-put",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::legendstemp/*"
        }
    ]
}  

这样可行,但我无法再使用亚马逊控制台或以编程方式访问这些文件。

存储桶策略也不适用于这些文件,因为文件所有者与存储桶拥有者不同。我也不能取得他们的所有权。

如何设置存储桶策略以允许匿名上传但不下载?

1 个答案:

答案 0 :(得分:3)

我知道自从被问到这一段时间已经有一段时间了,但是当我试图让自己开始工作的时候,我遇到了这个问题,并且在一段时间内写了这篇文章:

https://gist.github.com/jareware/d7a817a08e9eae51a7ea

它的要点(嘿!)是你可以进行匿名上传并禁止其他操作,但您将无法使用经过身份验证的请求执行操作。至少据我所知。

希望这有帮助。