我正在尝试限制对Azure blob的访问。我目前可以使用共享访问签名提供时间限制为5分钟的链接。然而,只是想知道是否有任何机制需要更多的安全性,如IP地址?
如果不是,我假设我只需要通过网络角色让客户端进入,然后检查那里?
答案 0 :(得分:6)
更新:现在支持此功能!以上详细说明最佳答案。剩下的仍然是有趣的,所以留下它。
没有IP筛选器直接支持̶-̶你当然可以这样做在自己的Web角色,你̶s̶u̶g̶g̶e̶s̶t̶.̶但是这就是为什么你应该有信心与共享访问令牌*:
如果收件人有恶意意图,SAS blob URL在5分钟内可以大规模发布和攻击的唯一方法。因此无论采用何种方法保护它(例如IP限制),您都会受到攻击,因为您已经获得了攻击者的访问权限。他们可以只下载数据并发布,如果它是IP限制的。
共享访问令牌与超时相结合确实可以防止暴力攻击猜测URL或任何粗心大意让它随着时间推移而处于不安全的位置。
因此,只要您信任与您分享的人并以安全的方式将其传送给他们,您就可以了。
*在大多数情况下
答案 1 :(得分:2)
Azure存储服务看起来有一项允许IP地址白名单的新功能(shared access signatures)。
SAS可让您精确控制您授予拥有SAS的客户的访问类型,包括:
- SAS有效的时间间隔,包括开始时间和到期时间。
- SAS授予的权限。例如,blob的SAS可能会授予该blob的读写权限,但不允许 删除权限。
- Azure存储将接受SAS的可选IP地址或IP地址范围。例如,您可以指定范围 属于您组织的IP地址。
- Azure存储将接受SAS的协议。您可以使用此可选参数来限制使用HTTPS访问客户端。
来源:MSDN
答案 2 :(得分:1)
没有额外的IP过滤机制。您可以通过Web角色引导所有流量并过滤流量,或使用SAS(如您所建议的那样)。