0

私は、ユーザーがファイルをアップロードしてお互いに共有できるアプリケーションを開発しました。このファイルは、各ユーザーのプライベートファイルとプロフィール画像のようなパブリックファイルです。 Azure File Storageにファイルを保存しています。WebApiを使用したAzureストレージでのファイルアクセスの保護

私は、そのIDを持つファイルを取得する方法があると仮定します。WebApiコントローラのファイルアクセスメソッドでアクセス許可を実装しました。

Azure File Storageはこのシナリオでは適切なストレージタイプですか?

Azure Storageからファイルを取得する最良の方法は何ですか? Azure .NET SDKを使用してサーバー側のファイルを読み込んでクライアントにストリームする必要がありますか? WebApiでファイルをストリーミングするのを避ける方法はありますか?その場合、クライアントはAzure File Storage(許可を考慮して)から直接ファイルにアクセスできますか?

おかげ

答えて

2

Azure File Storageリフトやクラウドへのレガシーアプリケーションの移行を可能にするために主に存在しています。 問題のためにSAS tokensと組み合わせたBlob Storageの使用をお勧めします。 SASトークンを使用すると、BLOBレベルのアクセス許可を制御できます。これにより、エンドユーザーにファイルを中継する前に、Webサーバー上でファイルを取得する必要がなくなります。

1

SASおよびRESTアクセスは、AzureファイルとAzure Blobストレージの両方でサポートされています。 Azureファイルは、人生以外の重要なシナリオをサポートします&シフト。少し古いですが、この記事(https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/)では、Azure BlobとAzureファイルとAzureディスクの違いについて説明しています。共有のサイズ制限、フォルダ構造、VMにネイティブにマウントする機能、最大ファイル/オブジェクトサイズ、スループット要件、価格設定、SMB/RESTサポートなども考慮する必要があります。 azurefiles AT microsoft.comにメールしてください。あなたのシナリオを見直し、使用シナリオに適したオプションをお勧めします。

アウン

1

私が知っているように、私たちはあなたのファイルを格納するためのAzure BLOBストレージを使用することができます。 Azure blobストレージコンテナには、3つのアクセスレベルがあります。フルパブリック読み取りアクセス、ブロブのみのパブリック読み取りアクセス、パブリック読み取りアクセスはありません。詳細はthis articleを参照してください。あなたのシナリオでは、プライベートファイルを「公開読み取りアクセスなし」に保存し、公開ファイルを「ブロブ専用の公開読み取りアクセス」に保存してください。ユーザーがプライベートファイルにアクセスすることはできませんが、パブリックファイルは読み取ることができます。プライベートファイルを他の人と共有したい場合は、LoekDが述べたようにSASを試してください。サーバー側でSASトークンを期限切れにしたい場合SASポリシーを使用してください。詳細はthis articleをご参照ください。

関連する問題