私のアプリケーションは、アップロードされたユーザーデータをAzureブロブストレージアカウント(写真など)に保存します。 BLOBの名前は、リレーショナルデータベースの対応する行の主キーの名前になります。例えば、/tenants/12/users/456/photos/1563445
。Azureのブロブ名を難読化または暗号化することは可能ですか?
これらのファイルは、匿名の認証されていないユーザーがアクセスできるようになっていますが、プライマリキーの値を公開したくない(「順次アクセス」攻撃を防止するため、または競合他社のサービスが)。
現在、私のBLOBストレージコンテナはプライベートであり、ブロブのすべてのリクエストは私のWebアプリケーションを通じてプロキシされています。サーバーの負荷を軽減するために、ブロブを直接公開したいと考えていますが、これは未処理のデータベースのプライマリキー値を提供するエンドユーザに未処理のブロブ名を公開することを意味します。
共有アクセスシグネチャを使用してBLOBへのアクセスを防ぐことはできますが、そのようなセキュリティは必要ありません。単純な対称暗号化など、BLOB名を難読化したいだけです。
「純粋なAzure」アプローチを使用してこれを実現し、BLOBストアを直接公開する方法はありますか、自分でプロキシを使用する必要はありますか?
ファイル名をハッシュするファイルをアップロードしてから、データベースに参照を保持する機会はありますか? – CtrlDot
SAS URLを使用しない理由はありません。そのレベルのセキュリティを必要としないことは、あなたの問題には関係ありません。 – Sentinel