在Python中安全地显示Amazon S3的图像
我想在我们的网站上安全地展示一组缩略图给已经登录的用户。所有的图片都会存储在亚马逊的S3服务上。
一种方法是采用“安全性靠模糊”这种思路,也就是把这些图片设置为公开可读,然后把文件名设置得很长且随机。
我也可以设置访问控制列表(ACL),但这样的话我可能需要在网址中透露访问密钥(我想是这样的),或者通过API把图片拉到我的应用里,然后通过网络服务器安全地展示出来。
有没有更好的方法来做到这一点?而且还希望能快速展示图片,而不是每次生成页面时都要向S3发出大量请求?
提前谢谢你们!
1 个回答
2
你可以生成带有过期时间的S3网址。生成这样的链接不需要向S3发送请求,也不会泄露你的密钥:你只需要用你的密钥生成一个签名,然后把这个签名加到网址上(网址里会有访问密钥ID,但这没关系)。
可以查看关于查询字符串授权的文档。