我有這種情況,我想發送一個鏈接到一個用戶有3個月訪問權限的文件,併發送相同的文件,並有1個月的訪問權限給另一個用戶。因此我想創建兩個不同的SAS到文件。我可以在azure blob存儲中爲單個文件擁有多個共享訪問簽名嗎?
這是支持的還是每次我得到一個SAS文件覆蓋以前?
我有這種情況,我想發送一個鏈接到一個用戶有3個月訪問權限的文件,併發送相同的文件,並有1個月的訪問權限給另一個用戶。因此我想創建兩個不同的SAS到文件。我可以在azure blob存儲中爲單個文件擁有多個共享訪問簽名嗎?
這是支持的還是每次我得到一個SAS文件覆蓋以前?
SAS是您根據一組策略/密鑰生成的令牌。 Azure存儲(因爲您使用的是blob),不會跟蹤這些令牌服務器端。會發生什麼情況是,當呈現SAS令牌時,它會包含「散列」簽名值以及用於簽署請求的權限或策略。然後,存儲服務使用用於生成原始哈希的相同密鑰重新計算哈希,並將其與所提供的簽名值進行比較。
因爲令牌本身沒有被服務跟蹤,理論上可以生成它們的無限數量。
答案是肯定的。我剛剛上傳了一個文件,並生成了兩個不同的SAS - 一個在10:59到期,另一個在11:10到期。在11:00,第一個過期,並在給定的URL上返回「AuthenticationFailed」。
開始和結束的日期時間都嵌入在SAS中,以便在URL中攜帶明顯的時間差異,系統可以看到差異。