2012-06-26 64 views
0

我一直在使用.NET一段時間,但只是現在正在向Azure過渡。是否可以在Azure存儲blob或容器上設置持久權限?

正如我的第一個雲計算項目的一部分,我有一個多用戶文件的情況。文檔將作爲BLOB存儲,每個用戶需要訪問自己的文檔,但沒有其他人。此外,還有更高級別的組(管理員)可以訪問所有文檔。所有用戶都將被認證。

我的問題是:有什麼辦法可以允許用戶列表直接連接到一個BLOB,或是否需要存儲該別處(表存儲,或DB)?我發現了大量關於如何通過共享訪問簽名提供臨時客戶端訪問的文檔,但沒有提供更永久的「文件」權限。

回答

1

如果你想對你的blob提供訪問控制,最好的選擇是使用ACS和DB。您可以爲特定用戶提供文件訪問權限並將這些訪問權限保存到數據庫中。這可以用作您請求的持久許可。

你可以看看BlobShare樣品是一個簡單的文件共享應用程序,演示了Windows Azure平臺的存儲服務,與訪問控制服務(ACS)的身份驗證和授權功能在一起。

http://blobshare.codeplex.com/

+0

非常感謝您花時間回答。這個例子非常有用。 – JcFx

0

斑點沒有每個用戶的訪問控制內置。 blob存儲API服務在使用私有blob時只有一個安全機制:帳戶密鑰(主鍵或輔助鍵都工作相同)。共享訪問簽名實際上只是通過URL提供臨時訪問的一種方式。如果您在Web或業務層執行所有用戶級授權,則該層可以直接訪問blob並將其直接返回給用戶(通過IIS,tomcat,Web服務或您選擇的其他機制)。

由於Windows Azure存儲沒有ACS的機制,你需要使用類似你會在你的應用程序的任何其他用戶級訪問使用什麼方案。

+0

感謝 - 簡潔,重點突出,實用。 – JcFx

相關問題