安全S3上传

时间:2016-08-10 14:56:32

标签: javascript amazon-s3

我想从javascript(最终是Elm)上传到S3。我觉得好像在客户端中存储一个IAM用户密钥会产生风险(告诉我我是不是错了),但是有一个可以操纵密钥的服务器后端(并且只向他们知道已经过身份验证的人提供签名)。

但我在JS SDK中找不到任何利用服务器提供信息的内容,所以我想知道我是否认为这一切都错了?

另一种方法是创建一个POST表单,我已经掌握了它的基础知识,但AWS文档给出了纯粹基于代码的上传的印象,我应该使用auth标题。

我想要的是:

1) Drop files on webapp, pass filenames to (3)
2) use JS filereader to read content
3) make http request to server for a signed url for the filenames in (1)
4) use signed url to upload content to S3

1 个答案:

答案 0 :(得分:1)

您应该使用POST文档查看基于浏览器的上传。

在服务器上,您创建一个包含到期详细信息的策略文档,并生成一个插入到表单中的上载签名,然后将表单提交给s3。

这样做意味着您可以将密钥存储在服务器上。

the documentation中的图表很好地解释了这个过程。

有关必填字段的详细信息,请参阅full documentation