【发布时间】:2018-04-15 21:38:34
【问题描述】:
我们刚刚开始使用 Azure 存储。 在我们的场景中,我们上传到私有 blob,稍后我们需要直接从我们的客户端应用程序访问这些 blob,例如图片。
有没有办法使用包含访问密钥的 URL 来处理 Azure 存储中的私有 blob?
筛选 MS 文档到目前为止,我只能找到通过 blob URI 进行的简单 URL 访问,例如在通过 .net API 列出 blob 时,由 CloudBlockBlob 实例的 URI 属性给出。
由于 blob 不是公开的,因此从 Web 浏览器自然访问它会失败。
但是,我们是否可以限定 URL 以包含访问密钥以允许授权客户端访问 blob..?
【问题讨论】:
-
阅读这个:docs.microsoft.com/en-us/azure/storage/common/… 它描述了使用令牌来允许访问客户端。
-
@kkirk 是的,我想知道这一点,但它似乎不太适用:“当您想向任何人提供对存储帐户中资源的访问权限时,您可以使用 SAS客户端不拥有您的存储帐户的访问密钥” - 我确实拥有访问密钥。
-
如果您拥有访问密钥,那么您必须使用它生成一个 SAS 令牌,然后使用 SAS 令牌自己访问该文件。有图书馆可以为您完成很多繁重的工作。
-
在这种情况下,您可以简单地使用:docs.microsoft.com/en-us/azure/storage/blobs/…。不过这里有安全方面的考虑。如果您可以将存储帐户访问密钥分发给所有客户端(例如,您的程序供公司内部使用),那么这是一种可行的方法。如果你不是,你可能应该在你的 blob 存储和客户端之间创建一个服务,它实现你需要的任何安全性。
-
@juunas ..在查看了 github 上的 SDK(客户端将是 Objective-C,而不是 C#)之后,使用该库访问 Azure 存储似乎不会那么麻烦。感谢您的意见!
标签: c# azure blob azure-storage azure-blob-storage