如何在不共享密钥的情况下执行AWS S3多部分上载

时间:2018-02-24 12:23:14

标签: node.js amazon-web-services amazon-s3 multipartform-data

我正在开发一个图像共享应用程序,我必须处理大量的S3图像上传。目前,我使用S3预先签名的URL从移动应用程序上传图像。问题是这个方法没有&# 39; t支持分段上传。

所以我研究了API网关和lambda文件上传。最后,我实现了一个解决方案。这里的问题是API网关的内容长度限制为10 MB,lambda只能接受最大6 MB的JSON有效负载。

我使用nodejs作为后端服务器。如何在不共享IAM密钥的情况下从移动应用程序执行S3分段上传?

我找到了另一种从服务器签名每个多部分URL的方法。但是没有适当的实施指南。

有人可以给出正确答案吗?

注意:我不想公开对S3存储桶的写访问权限,而且我没有使用EC2服务器。

1 个答案:

答案 0 :(得分:2)

正确的答案很可能包括使用AWS Cognito在需要时向每个移动设备/用户发放临时凭证,只需要他们所需的最低权限 - 即“丢弃”密钥。

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html