【问题标题】:Upload to S3 without exposing your accessKeyId在不暴露您的 accessKeyId 的情况下上传到 S3
【发布时间】:2018-03-02 19:06:24
【问题描述】:

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

问题:

我目前在 angular4 代码中使用我的 accessKeyIdsecretAccessKey 将文件直接上传到 AWS S3(使用适用于 javascript 的 AWS 开发工具包)。编译 Angular 时,客户端浏览器仍然在前端使用的仍然只是 javascript。我不喜欢这样,它给我带来了安全风险。

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

【问题讨论】:

  • 在 yml 文件上写入凭证,通过后端加载。不要通过前端上传,在后端进行。上传图片并将其发布到后端,然后从那里进行上传。
  • 听起来不错,谢谢!我正在考虑使用 aws lambda... 还有其他建议吗?

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


【解决方案1】:

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

AWS Lambda + API Gateway 非常适合这种后端服务。

【讨论】:

  • 谢谢马克。是的,我现在正忙着做这件事。认为这将是最好的解决方案谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-05-16
  • 2010-09-14
  • 2018-05-12
  • 2019-07-13
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多