Insights·2026-09-14

Blob Storageはファイルを保管し、DBはファイルを探すための情報を管理します

AIに領収書アプリを作ってもらうと、Blob Storageという言葉が出てくることがあります。写真やPDFなどのファイルを保管するサービスです。原本と、日付・金額・所有者・保存場所の情報を分けて考えると、アップロードの成否だけでなく、誰がファイルを開けるかも確認できます。

영수증 사진은 Blob Storage에, 날짜·금액·소유자·파일 위치는 DB에 저장하는 설계 예시

Blobはファイルデータのひとかたまり

領収書をアップロードして閲覧するアプリをAIに頼むと、Blob Storageに保存すると言われるかもしれません。アップロードボタンのために保存先まで学ぶ必要があるのでしょうか。コードを自分で書く必要はありませんが、ファイルがどこに入り、誰が見られるかは知っておく必要があります。領収書と公開用の宣伝画像では、公開範囲が違うからです。

BLOBはBinary Large Objectの略です。入門段階では、写真1枚やPDF1個のように保存されるデータのひとかたまりと考えてください。Largeという名前でも、小さなファイルを保存できます。Blob Storageには画像、文書、動画、テキストなどを保管できます。

Microsoft Azureでは、保存先全体がStorage Account、ファイルをまとめる区域がContainer、その中の個別のデータがBlobです。倉庫、保管区画、品物ひとつの関係に似ています。

出典:https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction

DBがあるのに、なぜ別に保存するのか

DB、つまりデータベースは、情報を整理して条件に合うものを探す仕組みです。領収書アプリで先月の交通費を表示するには、日付・分類・金額が必要です。原本を見るには写真が必要です。表は、この役割を分ける設計例です。

写真は保管場所へ、探すための情報は台帳へ、という分担です。DBにファイルを入れられないという意味ではありません。ファイル保管と情報検索を分ける設計です。小さなファイルを関連データと一緒に管理したい場合には、DBへの保存も選択肢になります。

領収書アプリで扱うもの保存先
領収書の原本写真Blob Storage
日付・金額・経費分類DB
アップロードした人と保存場所DB

アップロードより大切なのは誰が開けるか

Publicは匿名で読み取り可能、Privateは権限が必要。SASリンクは許可された範囲のアクセスを与えます。

Privateは読み取りに権限が必要な設定です。Publicは許可された範囲でログインせずに読める設定です。会社のロゴと顧客の契約書を、同じ公開区画に入れるべきではありません。Azureは既定で匿名アクセスを禁止し、不要なら公開読み取りを許可しないよう推奨しています。公開読み取りは、誰でも変更・削除できるという意味ではありません。

ログインが必要な画面と、非公開のファイルは別です。アプリにログイン機能があっても、コピーしたファイルURLを誰でも開けるなら、原本は公開されている可能性があります。

Privateのファイルを一時的に共有するには、SASという限定的なアクセス権を使えます。たとえば特定のファイルを短時間だけ読めるリンクです。そのリンクを受け取った人も許可された権限を使えるため、リンク自体を保護してください。

出典:https://learn.microsoft.com/en-us/azure/storage/blobs/anonymous-read-access-configure

https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview

変更する前にAIへ点検を頼む

すでにアプリを作っているなら、次の依頼を貼り付けてください。これは点検用の指示例であり、特定のアプリの安全性を検証した結果ではありません。

AIに貼り付ける点検依頼
このアプリのファイルアップロード設計を点検して。
まだコードや設定は変更しないで。

1. アップロードした原本がどこに保存されるか説明して。
2. DBに保存されるファイル関連情報を列挙して。
3. 未ログインの人が通常のファイルURLだけで原本を開けるか確認して。
4. 別のアカウントでログインした人が私のファイルを見られないか確認して。
5. 共有リンクに有効期限と読み取り専用の制限があるか確認して。
6. アップロード成功後にDB保存が失敗した場合の処理を説明して。

実際に確認した結果と推測を区別して。
パスワード、保存先の秘密鍵、利用可能な共有リンクを回答に表示しないで。

テストファイルで三つのことを確かめる

実際の領収書や契約書ではなく、個人情報のないテストファイルを使いましょう。自分が管理するアプリで、ログアウト状態と別のテストアカウントからアクセスを確認します。

通常のURLが拒否されても、すべての安全性が検証されたわけではありません。他のユーザーが自分のファイルの共有リンクを取得できないことも重要です。

初心者が最初に覚えるべきなのは、保存サービスの全機能ではありません。どこに保存されるか、誰が見られるか、保存に失敗したらどうなるか。この三つをAIに聞ければ、動くアップロードボタンから、ファイルを適切に管理するアプリへ一歩進めます。