如何将图片访问限制为仅授权网站用户

时间:2019-01-29 06:41:55

标签: amazon-web-services security amazon-s3 amazon-cloudfront

我正在一个项目中,我需要以安全的方式存储用户上传的图像。目前,我正在使用Cloudfront在AWS s3(静态内容)上托管网站。后端分别部署在应用程序负载平衡器之后。

用例是-用户从其桌面上传图像,然后将图像上传到s3中的存储桶。我已经设置了存储桶策略,以便每个人都可以向其上传图像(因为它是公共网站)。现在,我必须将图像访问权限仅限制为已上传图像的用户。即,如果用户A上传图片A1,A2,A3,则只有他应该能够查看,而用户B则不能。

当前,如果我通过浏览器检查工具获得了url,则可以无限制地直接查看图像。这违反了“安全地”在网站上存储图像的目的。 有人可以让我知道任何标准做法,以解决这个问题吗? 每次通过后端生成一些带有特殊哈希值的图像url都会超出工程设计范围吗?

1 个答案:

答案 0 :(得分:2)

签出AWS Amplify's Storage moduleFile Access Levels文档。开箱它支持private水平,可以让用户上传到(并查看)只有自己在桶里命名空间的前缀。这听起来像是您所追求的。