【发布时间】:2013-12-31 11:49:07
【问题描述】:
我已经进行了大量搜索和查看示例,但找不到我认为可能的内容。我想逐个地授予读取访问权限,而不是打开整个容器以使其可读。我找到的所有示例都展示了如何为 blob 创建一个完整的经过身份验证的 URL,我已经开始工作了。我发现我可以获取该 SAS 密钥并将其附加到同一容器中的任何其他 blob,它们将是可读的。
我能否创建仅对单个 BLOB 有效的 SAS 密钥?如果是这样,一个示例/链接将不胜感激!
【问题讨论】:
我已经进行了大量搜索和查看示例,但找不到我认为可能的内容。我想逐个地授予读取访问权限,而不是打开整个容器以使其可读。我找到的所有示例都展示了如何为 blob 创建一个完整的经过身份验证的 URL,我已经开始工作了。我发现我可以获取该 SAS 密钥并将其附加到同一容器中的任何其他 blob,它们将是可读的。
我能否创建仅对单个 BLOB 有效的 SAS 密钥?如果是这样,一个示例/链接将不胜感激!
【问题讨论】:
您当然可以在 Blob 级别设置共享访问签名。如果您使用的是 .Net 存储客户端库,请查看 blob 上的 GetSharedAccessSignature 函数。前段时间我写了一篇关于共享访问签名的博文,您可以在其中找到一些为 blob 创建 SAS 的代码:http://gauravmantri.com/2013/02/13/revisiting-windows-azure-shared-access-signature/。
【讨论】:
SharedAccessBlobPermissions.Read,如果你想创建一个 SAS,你的用户可以使用它来下载 blob`)并获取SAS URL。然后向下滚动到帖子中的“下载 Blob”部分,查看如何使用该 SAS URL。