我读过关于使用s3 + cloudfront +签名URL架构安全地向公共用户提供私人内容的aws文档。但对我来说似乎还不够安全。让我们分步描述:安全地提供私人内容s3 + cloudfront +签名URL
第1步:用户登录到我的网站。
第2步:用户点击下载(PDF,图片等)
第3步:我的Web服务器将生成标识的URL(截止时间:30秒),将用户重定向到标识的URL和下载过程发生。
步骤4:现在,即使在30秒后超时,仍然有可能我的网络上的任何恶意snipper都能够捕获签名的url并下载我的用户的私人内容。
有没有想过这个?
事实上,我应该已经表明,所有的沟通都是通过HTTPS。现在担心的是无论谁获得签名的URL,无论到期时间,都可能能够下载我的私人文件。机会很渺茫,但这是可能的。我检查了Dropbox的方法,实际上他们仍然通过他们的网络服务器提供服务,而不是直接通过签名的URL。因此添加了另一个安全层。 – Tommy
的确如此,拥有网址意味着访问内容,如拥有浏览器cookies或用户密码。通过您的网络服务器流式传输文件虽然效率低下,但并不像有些人那样糟糕,因为AWS不会为同一区域内的S3和EC2之间的带宽收费(所以向您的服务器的传输是有效的“免费”)并将文件从网络传输到网络使用的资源(网络)比从传统的Web服务器(磁盘)下载文件更少。关键概念是流,而不是取/发。 –