对于特定用户组,在Windows Azure存储中保护blob的最佳方法是什么.例如,我在本地有一个ASP.NET网站(内部网),其中包含用于大型文件的后端Windows Azure blob存储.我喜欢为每个blob提供安全签名URL的想法,但这确实适用于将在那里存在很长时间的blob.(无穷?)
我只需要特定用户对blob进行粒度级别的安全性(如何使用Blob Storage轻松实现这一点).*注意我相信我不应该需要ACS.如果可能的话,我想使用策略和签名URL来实现它.
第二个问题,我假设我也可以用同样的方式在CDN中保护这些数据,有人可以确认吗?
谢谢
共享访问策略具有无限时间工作和blob特权,例如读取工作?
dun*_*nry 18
如果您需要blob可供个别用户使用超过一小时,则必须使用附加到容器的SAS策略.但是,由于每个容器的最大容量为5,因此对于许多用户来说,它不能很好地扩展.SAS政策可以按年度计算到期日.
这里更典型的解决方案是让用户点击您的网站或服务,并以您选择的任何方式对其进行身份验证.当他们真的希望下载文件时,您应该生成一个具有较短过期(而非策略)的一次性SAS签名.这样可以很好地扩展并防止未经授权的用户在以后重复使用.您还可以从存储而不是您的Web角色中获益.
使用CDN时,事情变得更加复杂.因此,虽然您可以在CDN资源上使用SAS签名,但它们并不真正受到尊重.也就是说,唯一URL是底层资源的关键.因此,当您请求SAS安全blob时,它只会将其拉入CDN并使用该URI作为密钥提供服务.然后,它将使用CDN缓存策略(而非SAS过期)来继续服务.这可能会导致blob URI设置为在10分钟后过期,但CDN将使用相同的SAS签名缓存该blob数天,具体取决于过期策略.CDN永远不会再次联系存储进行验证.因此,使用它可能不是一个好主意.此外,由于每个CDN资源都键入URI,这也意味着每次SAS签名更改时都会缓存同一文件的许多副本(运行事务和带宽费用).长话短说,CDN和SAS混合不好.
| 归档时间: |
|
| 查看次数: |
3455 次 |
| 最近记录: |