0

私たちは、アプリケーションのファイルとドキュメントをAzureのBLOBストレージに保存するためにBLOBストレージを使用しようとしており、ユーザー固有のファイルアクセスが必要です。この時点で、誰でもファイルのいずれかを見ることができます。私はそうしたくありません。ユーザーは、表示またはアクセスしようとしている他のファイルがログインページにリダイレクトされ、アクセス権がないことを示す必要がある場合にのみ、自分のファイルにアクセスする必要があります。Azureブロブストレージでは、アプリケーションのユーザー固有のファイルアクセスが必要です。達成する方法はありますか?

私はAzureのブロブストレージでこれをどのように達成できますか?私はこれを回避するためにいくつかの解決策を見つけようとしましたが、誰かがそれを助けることができれば、大いに役立つでしょう。

答えて

2

あなたはAzureのブロブのアクセスを制御するために、既存のアプリケーションのユーザー・ストア、認証および承認メカニズムとの組み合わせで、共有アクセス署名を使用することができるはずです。

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

あなたはタイムアウトを調整することができ、店舗アプリケーションに必要なアクセスキーなどが含まれています。

+0

お礼ありがとうHenryありがとうございましたHenryありがとう私はあなたが言ったのと同じようにしました。今すぐファイルにアクセスできない場合は、許可されていないメッセージを私はアプリケーションのログインページにリダイレクトしたいと思いますが、ログインしてもまだそのファイルに権限を与えていない場合は、私たちのテーマこれはブロブストレージで可能ですか? –

+0

@ Gauravが正しいと答えた彼のコメント –

2

ここでは、アプリケーションでどのようにしたのですか。このアプローチをアプリケーションで使用できるかどうかを確認してください。

アプリケーションでは、すべてのユーザーに一意のID(GUID)が割り当てられます。ユーザーがサインアップすると、Blobコンテナが作成され、このBlobコンテナの名前がユーザーのIDとして設定されます。そのユーザーのすべてのファイルはそのBLOBコンテナに保持されます。ユーザーがこれらのファイルにアクセスする必要がある場合、適切な権限を持つBLOBコンテナの共有アクセス署名(SAS)を作成し、そのユーザーとそのSASを共有するだけです(Henry氏の回答を参照)。

ユーザー数に応じて、これらのコンテナを複数のストレージアカウントにわたってロードバランシングすることも考えられます。私たちがこれを達成したのは、ユーザーがサインアップするときに、ストレージアカウントのプールからストレージアカウントをランダムに割り当て、そのユーザーのBLOBコンテナがそのストレージアカウントに作成されることです。

+0

ありがとうgaurav @Henryソリューションと同じように言って使った。今すぐファイルにアクセスできない場合は、許可されていないメッセージを与え、私はログインページにリダイレクトしたいと思います。ログインしても、彼はそのファイルに権限を与えていません。ブロブストレージとは? –

+0

ブロブストレージでは、カスタムエラーページを作成することはできません。これは、アプリケーションで行う必要があることです。つまり、ユーザーがBLOBにアクセスできるかどうかを確認します。彼らがエラーページにリダイレクトしないと、ブロブを表示/ダウンロードできるようになります。 –

+0

あなたのすばやい返信をお寄せください。問題は、あるユーザー用に1つのイメージファイルをアップロードし、そのイメージファイルとそのファイルにアクセスできないブラウザのブラウザに直接配置する他のユーザーのblobファイルパスがある場合、メッセージを開いて送信することができない場合ですAzure BLOBによるが、ここで私たちのアプリケーションではない直接的な経路であるので、私はカスタムメッセージを与えたい。これに対する解決策は何でしょうか? –

関連する問題