我可以在azure blob存储中为单个文件提供多个共享访问签名吗?

时间:2014-09-03 08:00:51

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

我遇到这种情况,我想发送一个文件的链接,对一个用户有3个月的访问权限,并发送同一个文件,1个月访问另一个用户。因此,我想为文件创建两个不同的SAS。

是否支持此功能,或者每当我收到SAS文件时都会覆盖以前的文件?

2 个答案:

答案 0 :(得分:5)

SAS是您根据一组策略/密钥生成的令牌。 Azure存储(因为您正在使用blob),不会跟踪这些令牌服务器端。发生的情况是,当呈现SAS令牌时,它包括“散列”签名值以及用于签署请求的权限或策略。然后,Storage Service使用用于生成原始哈希的相同密钥重新计算哈希值,并将其与显示的签名值进行比较。

因为服务不跟踪令牌本身,理论上可以生成无限数量的令牌。

答案 1 :(得分:1)

答案是肯定的。我刚上传了一个文件并生成了两个不同的SAS - 一个在10:59到期,另一个在11:10到期。在11:00,第一个到期,并在给定的URL上返回“AuthenticationFailed”。

开始和结束日期时间嵌入在SAS中,以便使用URL进行明显的时间差异,系统可以看到差异。

相关问题