簡體   English   中英

SAS的Azure Blob存儲授權

[英]Azure Blob Storage authorization with SAS

我有一個Web應用程序(ASP.NET MVC),該應用程序使用Azure Blob存儲來存儲文檔和圖像。 每個用戶都有對Blob的特定訪問權限,這些權限存儲在Web應用程序的數據庫中。

當前,我有一個快速的臨時解決方案,該解決方案將Web應用程序用作運行授權的中間層,並且如果客戶端對blob具有讀取訪問權限,則首先從Azure檢索該內容,然后將其交付給客戶端。 當然,出於多種原因,這並不是最佳的方法。

我已經開始使用SAS(共享訪問簽名)來重建此部分,但是找不到適合建立隨用戶和文件數量增長而擴展的系統的良好來源。 我期望用戶數量大約為100,斑點數量大約為100000。

如我所見,我有兩個選擇。

1)所有文件都在Web應用程序數據庫中存儲了一個簽名,該簽名用於所有有權訪問該文件的用戶。 這將是一種簡單的方法,但是如果用戶由於某種原因仍然無法訪問該文件,則如果他們具有早期訪問的鏈接,他們仍然可以訪問該文件。

2)對於有權訪問文件的每個用戶,所有文件都有特定的簽名。 這將使撤消對文件的訪問變得容易,但是簽名的數量將是巨大的,這會產生副作用嗎?

還有其他選擇嗎?

任何想法對此表示贊賞!

與其為每個用戶提供SAS,不如按角色對文件進行分組並將用戶映射到角色,這將很容易進行擴展,與用戶數量無關。

建議您不要直接授予用戶訪問Blob的權限,因為您想通過應用程序分發Blob內容。 因此,可以根據用戶角色提供特定於應用程序的訪問。

有關生成兩分鍾SAS且在兩分鍾后過期的信息,請參閱下面的文章,因此具有鏈接的用戶長時間無法訪問映像。

http://www.dotnetcurry.com/windows-azure/901/protect-azure-blob-storage-shared-access-signature

希望這可以幫助。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM