使用Azure blob存储,是否可以通过匿名访问实现一般隐私级别?

时间:2016-07-18 23:38:18

标签: azure azure-storage azure-storage-blobs

根据文档,Azure容器可以设置如下:

  • 完全公开读取访问权限:可以通过匿名请求读取容器和blob数据。客户端可以通过匿名请求枚举容器中的blob,但不能枚举存储帐户中的容器。
  • 仅限blob的公共读取权限:可以通过匿名请求读取此容器中的Blob数据,但容器数据不可用。客户端无法通过匿名请求枚举容器中的blob。
  • 无公开读取权限:只有帐户所有者才能读取容器和blob数据。

资源:anonymous read access

我主要对第二个感兴趣。如果通过动态生成的GUID命名文件名/ blob(例如07as51b9-a246-421x-f3sb-a7fdeasdf5cf.png),是否有任何可想到的方式以编程方式解决这个问题?

我希望能够在没有共享密钥或除匿名之外的任何其他身份验证的情况下仅与某些个人分享链接,但对于cookie,跟踪或其他可能某种程度上将链接登陆到blob的因素感到好奇在开放的世界里。显然,如果链接被共享,则存在风险。

也许这更适合security.stackoverflow.com,但Azure直接在这里向人们提问(除非你有付费方案)。

2 个答案:

答案 0 :(得分:0)

您可以通过在浏览器中输入URL轻松列出公共容器下的blob:

https:// {您的帐户名称} .blob.core.windows.net / {您的容器名称}?restype = container& comp = list

它实际上使用匿名访问方式调用Azure Blob存储REST API,有关此API的详细信息,请参阅:https://msdn.microsoft.com/en-us/library/azure/dd135734.aspx

答案 1 :(得分:0)

@ user1447679,正如@ ZhaoxingLu-Microsoft所说,你可以通过网址获取公共容器下的blob列表或blob。

但是,如果要与匿名共享任何容器或blob的链接,则需要添加sas标记作为URL的查询参数。我知道你怀疑安全&链接的风险,但sas令牌的到期时间确保链接安全,降低风险。请参阅1&部分该系列的2"共享访问签名"通过存储深入了解SAS模型。