我正在开发一个图像共享应用程序,我必须处理大量的S3图像上传。目前,我使用S3预先签名的URL从移动应用程序上传图像。问题是这个方法没有&# 39; t支持分段上传。
所以我研究了API网关和lambda文件上传。最后,我实现了一个解决方案。这里的问题是API网关的内容长度限制为10 MB,lambda只能接受最大6 MB的JSON有效负载。
我使用nodejs作为后端服务器。如何在不共享IAM密钥的情况下从移动应用程序执行S3分段上传?
我找到了另一种从服务器签名每个多部分URL的方法。但是没有适当的实施指南。
有人可以给出正确答案吗?
注意:我不想公开对S3存储桶的写访问权限,而且我没有使用EC2服务器。
答案 0 :(得分:2)
正确的答案很可能包括使用AWS Cognito在需要时向每个移动设备/用户发放临时凭证,只需要他们所需的最低权限 - 即“丢弃”密钥。
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_cognito.html