Azure Storage の使用は始まったばかりです。このシナリオでは、後でクライアント アプリから直接アクセスする必要がある画像などのプライベート BLOB にアップロードします。
アクセス キーを含む URL を使用して Azure Storage 内のプライベート BLOB をアドレス指定する方法はありますか?
MS ドキュメントを精査した結果、これまでに見つけたのは、たとえば.net API 経由で BLOB を一覧表示するときにインスタンスURI
のプロパティによって指定されるような、BLOB URI 経由の単純な URL アクセスだけでした。CloudBlockBlob
当然、BLOB が公開されていないため、Web ブラウザーからこれにアクセスすることは失敗します。
ただし、承認されたクライアントが BLOB にアクセスできるようにするために、URL にアクセス キーも含めるように制限することはできますか?
ベストアンサー1
プライベート BLOB の SAS URL とトークンを生成できます。概念をテストするために、Azure ポータルでこれを手動で生成するプロセスを次に示します。クエリ文字列にトークンを含む URL を使用して、ファイルに一時的に時間制限付きでアクセスできるため、ストレージ コンテナーがプライベートの場合でも機能します。
ストレージコンテナ内のファイルをクリックし、「SASの生成」タブを選択し、右側のペインで
これにより、以下のようにトークンとトークンを含む URL が生成されます。
を使用して、URL をファイルとしてダウンロードすることをテストできますcurl
。上の画像に示されている 2 番目の URL (クエリ文字列に完全なトークンとその他のパラメータが含まれている URL) を使用して、次の操作を実行します (重要 - URL は二重引用符で囲む必要があります)。
curl "<YOUR_URL>" --output myFileName.txt
ヒント- これは、Azure VM でファイルを利用できるようにするのにも適した方法です。何らかの理由で VM にファイルを直接インストールする必要がある場合 (SSL 証明書をインストールするためにこれを行う必要がありました)、URL を生成してcurl
VM 自体にファイルをダウンロードできます。たとえば、最初に Bastion または SSH を使用して VM に接続し、次に を使用してcurl
ファイルをどこかにダウンロードします。