上传到S3而不暴露您的accessKeyId

Jan*_*pan 2 amazon-s3 amazon-web-services angular

我有一个使用一个Web应用程序火力点进行身份验证,数据库和Angular4的前端.我通过我的网络应用程序将图像上传到AWS S3,它运行正常.

问题:

我目前在angular4代码中使用我的accessKeyIdsecretAccessKey将文件直接上传到AWS S3(使用AWS SDK for javascript).当编译角度时,它仍然只是javascript,仍然由客户端浏览器在前端使用.我不喜欢这样,它给我带来了安全风险.

如何在不暴露我的密钥的情况下直接从Angular4上传图像到S3?

Mar*_*k B 6

创建一个可以生成AWS S3预签名URL的小型后端服务/ API .然后,您的Angular应用程序可以使用该预签名URL将图像上载到S3.后端服务将是唯一需要您的AWS访问权限的服务.

AWS Lambda + API Gateway非常适合此类后端服务.