2014-01-10 159 views
2

我已经设置了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/*" 
     } 
    ] 
} 

这工作,但我不再有机会获得使用无论是亚马逊控制台或编程这些文件。

存储桶策略也不适用于这些文件,因为文件所有者与存储桶所有者不相同。我也无法拥有它们。

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

回答

3

我知道它已经有一段时间,因为这是问过,但我碰到这个而来到试图得到这个工作自己,在一些长度在写它:

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

的要点它(嘿!)是你可以做匿名上传和禁止其他行动,但你将无法执行使用认证请求的行动。至少据我所知。

希望这会有所帮助。