上传到S3而不暴露您的accessKeyId

时间:2017-09-21 12:18:36

标签: angular amazon-web-services amazon-s3

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

问题:

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

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

1 个答案:

答案 0 :(得分:6)

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

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