node.js - 如何在不共享 key 的情况下执行AWS S3分段上传

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

我正在开发一个图像共享应用程序,其中我必须处理大量的S3图像上传。目前,我正在使用S3预签名URL从移动应用程序上传图像。问题是这种方法不'不支持分段上传。

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

我使用nodejs作为后端服务器。如何从移动应用程序执行 S3 分段上传而不共享 IAM key ?

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

有人能给出正确的答案吗?

注意:我不想授予对 S3 存储桶的公共(public)写入权限,并且我不使用 EC2 服务器。

最佳答案

正确的答案很可能是使用 AWS Cognito 在需要时向每个移动设备/用户颁发临时凭证,并仅授予他们所需的最低权限 - 即“丢弃” key 。

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

关于node.js - 如何在不共享 key 的情况下执行AWS S3分段上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48962825/

相关文章:

hadoop - amazon s3n 与 hadoop mapreduce 的集成不起作用

amazon-web-services - Amazon S3 在另一个账户中触发另一个 Lambda 函数

ruby - 如何使用 fog 在 s3 上编辑文件?

android - ionic 应用程序不能在 4.x android 平台上运行

amazon-web-services - 谷歌云有没有像AWS一样的存储网关概念?

javascript - 如何将 HTTP header 发送到 Connect (Node.js) 中的静态目录

amazon-web-services - 如何在 S3 上复制克隆/复制文件夹?

python-2.7 - 如何动态地将触发器 s3 存储桶添加到 lambda 函数(python boto3 API)

javascript - NodeJS : Getting Input

javascript - 下一个 Js 错误 : Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined