私は、ドキュメントとイメージを格納するためにAzure Blobストレージを使用するWebアプリケーション(ASP.NET MVC)を持っています。各ユーザはブロブへの特定のアクセス権を持ち、この はWebアプリケーションのデータベースに格納されています。Azure BLOB SASでのストレージ承認
現在、私は、Webアプリケーションを承認を実行する中間層として使用し、クライアントがBLOBへの読み取りアクセス権を持っている場合、 をAzureから最初に取得し、クライアントに配信します。これはもちろん、さまざまな理由で最適な方法ではありません。
私はSAS(Shared Access Signatures)を使用してこの部分を再構築しましたが、ユーザーとファイルの数が増えるにつれて拡張性の高いシステムを設定するための良い情報源が見つかりませんでした。ユーザー数は約100、ブロブ数は100000程度になると予想しています。
私には2つの選択肢があります。
1)すべてのファイルには、Webアプリケーションデータベースに1つの署名が格納されています。これは、ファイルにアクセスできるすべてのユーザーに使用されます。これは簡単な方法です( )。何らかの理由でユーザーがファイルにアクセスできない場合は、以前のアクセスからのリンクがあればファイルにアクセスできます。
2)すべてのファイルには、ファイルにアクセスできるユーザーごとに固有の署名があります。これにより、ファイルへのアクセスを取り消すことが容易になりますが、署名数は となり、これに副作用がありますか?
これ以上のオプションはありますか?
これについてのご意見は大変ありがとうございます。
SASの作成を必要としていない理由がありますか? –
SASが生成され、クライアントに配信されるHTMLのURLに追加されるということでしょうか?これはもちろんオプションですが、イメージの場合はサムネイル(Azure Blobストレージにも格納されています)にリストされます。ページに20個のイメージがあり、Azureに20回ラウンドトリップすると、HTMLが生成される前に署名が生成されますレンダリングされる。右? – moccasine
あなたは私の答えをここで参照することができます:http://stackoverflow.com/questions/39431608/limiting-account-sas-permission-to-specific-files-in-azure-storage/39432023#39432023 –