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

标签 azure azure-storage azure-blob-storage

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

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

资源:anonymous read access

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

我希望能够仅与某些个人共享链接,而无需共享 key 或匿名以外的任何其他身份验证,但对 cookie、跟踪或其他因素感到好奇,这些因素可能会以某种方式将链接着陆到 blob在开放世界中。显然,如果链接被共享,那就存在风险。

也许这更适合 security.stackoverflow.com,但 Azure 会直接向人们指出此处提出问题(除非您有付费计划)。

最佳答案

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

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

实际上是匿名访问Azure Blob Storage REST API,该API的详细信息请引用:https://msdn.microsoft.com/en-us/library/azure/dd135734.aspx

关于azure - 使用 Azure Blob 存储,是否可以通过匿名访问实现一般级别的隐私?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38447471/

相关文章:

c# - 使用 API 从 Azure blob 下载

azure - 在 Azure 中管理 Multi-Tenancy 存储的最有效方法?

azure - Terraform - 在多个地方重复使用 block 定义

c# - 使用 C# 库还原 azure blob 快照

c# - 使用 EF 从 Azure 移动服务检索父/子记录(包含列表的对象)

.net - 在 Azure 表存储上选择返回时间过长

c# - 使用 Azure 存储异步创建 blob 时出现异常 - UploadTextAsync

azure - SAS URL 不起作用

bash - 使用 Bash/Curl 从 Azure Blob 存储下载文件

azure - 使用 asp.net core 和 azure cloudblob 流媒体文件