【发布时间】:2020-07-17 01:26:09
【问题描述】:
我有一个场景,其中有一个应用程序将用户个人资料图像上传到 AWS S3 存储桶。
-
为了防止所有用户的个人资料图片(或任何其他存储桶内容) - 存储桶是私有的,因此资产 URL 不可公开访问。
-
在应用程序的 Angular 前端,我需要检索用户个人资料图像。如果 S3 存储桶可公开访问,这很简单 - 只需指向 URL。
-
由于存储桶是私有的,我想知道在前端检索这些图像的最佳方法。对于我的特定用例,我将 best 定义为安全和高效的结合。
-
出于安全考虑,显然我不想在前端客户端中硬编码 AWS 凭证。
-
通过高效,我知道我可以设置一个后端代理, 前端会调用它——这个代理会反过来, 使用 S3 进行身份验证并将请求的资产作为对前端的响应返回 - 但这会带来明显的开销。
鉴于我提供的详细信息,我想知道上述的最佳解决方案/方法是什么?
更新: 前端单独托管在它自己的 EC2 上,与 S3 在同一个 AWS 账户下。
【问题讨论】:
-
您能否添加一些有关前端如何托管的详细信息?它与存储桶在同一个 AWS 账户中吗?在 CloudFront/S3、EC2 或容器服务上?
-
您可以使用签名网址。让您的服务返回这些 URL
-
@berenbums - 是的,更新的问题
-
@Nonik - 谢谢,请详细说明?
标签: angular amazon-web-services amazon-s3