我想了解如何设置一个通常为私有的存储桶,但允许匿名上传与限制。具体标准是:S3 - 匿名上传 - 关键前缀
- 该存储桶大多是私人的,需要我的密钥/秘密来添加/删除/更新/列表文件。
- 有一个名为“incoming”的“目录”(即键值前缀),它允许匿名用户上传内容但不列出。
- 存储桶的所有内容都有一天到期。作为奖励,我希望“传入”目录有30分钟的到期时限,但如果这是不可能的,整个存储桶的一天到期将会执行。
- 带有“传入”前缀的文件将受到每个对象大小的限制。
- 我可能还想限制带有“传入”前缀的对象仅限于某些内容类型。
问题我有是:
- 它会更好简单地创建两个水桶。一个用于我的传入文件,另一个用于我自己的个人处理和存储?
- 代码是什么样的文件上传到传入的目录。理想情况下,我想避免依赖S3库,只使用HTTP调用。如果您可以在Ruby中向我展示正确的方向,可以加分。 :)
过期似乎可以通过S3管理控制台设置,但仅限于1天作为最小过期。我可以在该字段中输入小数吗?权限似乎适用于整个存储区而不仅仅是一个前缀。这让我觉得我只需要两个桶。如果我保留一个桶,我认为我需要创建一个IAM策略并将其应用于存储桶,但这超出了我对S3的有限知识,并且我希望确保我不会在允许人员执行的权限中留下漏洞比我想要的更多。
我发现了很多关于通过HTTP表单发布匿名上传到S3的文档。我可以适应代码,但我想知道,因为我在应用程序代码(而不是HTTP表单文章)有没有更简单的方法?
for 2,你有没有考虑用载波回形针配置s3? – rb512 2012-08-22 05:19:28
感谢您的建议。是的,我已经使用过这些,但我认为它们通常都是在经过认证的基础上(而不是匿名)进行操作。可能有一些插件做匿名,但我真的只是希望,因为S3是一个REST接口,我允许匿名上传,没有任何第三方库的简单的HTTP请求可以做到这一点。但试图解析亚马逊文档比我希望如果有人能指引我朝正确的方向发展更加麻烦。 – 2012-08-23 13:36:38
没有完全明白。通过匿名,你的意思是你希望能够上传文件而不提供你的s3证书?我不认为这是可能的。 – rb512 2012-08-24 02:48:52