Blob コンテナにアクセスできない?Blob ストレージの認証・認可とネットワークアクセスの仕組みをちゃんと理解しよう

>100 Views

September 10, 26

スライド概要

2026年9月10日(木)に開催された『YonaYona Storage Night』の登壇資料です。ストレージアカウントの中のBlob ストレージについて、認証・認可、ネットワークでよくあるトラブルを中心に基本的な内容を理解する内容です。

profile-image

外資系の会社でAzure Platform に関するコンサルタントをやっています。Azure を含むMicrosoft 製品、インフラ、CI/CD などを強みとしています。Microsoft MVP 2025 (Azure Compute Infrastructure、Azure Networking)

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Blob コンテナにアクセスできない? Blob ストレージの認証・認可とネットワークアクセスの 仕組みをちゃんと理解しよう YonaYona Storage Night 2026.09.10 / Kazuki Yamabe

2.

Agenda ● 自己紹介、導入 ● ストレージアカウント & Blob ストレージとは ● Blob ストレージの認証・認可 ● ストレージアカウントのネットワークアクセス ● まとめ・参考資料

3.

自己紹介 専門領域 / Area of expertise • Microsoft Azure / Cloud Infrastructure • Containers / Kubernetes • Infrastructure Automation ( CI/CD、Infrastructure as code、Scripts、etc ) 受賞歴 / Awards • 2025年:Microsoft MVP (Azure Compute Infrastructure、Azure Networking) • 2026年:Microsoft MVP (Azure Compute Infrastructure、Azure Kubernetes and Open Source) Blog / SNS Kazuki Yamabe B Blog https://www.kdkwakaba.com Avanade Japan K.K. X X (Twitter) @kdk_wakaba in LinkedIn https://www.linkedin.com/in/kdk-wakaba

4.

注意事項 注意事項 • 本内容は2026年9月10日現在の内容です。今後のアップデートで内容が変更される可能性があります • 本内容は個人の見解であり、会社の方向性、戦略、意見ではありません

5.

Blob ストレージ (コンテナー) でよくある問い合わせ

6.

エラーの原因を調査してみると…

7.

ストレージアカウントとは オブジェクト、ファイル、メッセージ、テーブル形式のデータを操作・管理できる Azure の統合ストレージサービス Azure Blob Storage Azure Files • 非構造化データを格納するオブジェクトスト レージ • SMB / NFS でマウントできるマネージド ファイル共有 • 大量のメッセージを保管する非同期 キューサービス • キー / 属性で管理する NoSQL のキー 値ストア • コンテナ単位で管理し、アクセス階層でコスト 最適化 • 複数のサーバーやコンテナから同時にア クセス可能 • 処理側が取り出すまで保持し、疎結 合な連携を実現 • スキーマレスで大量データを低コストに格 納できる • ファイルサーバーやアプリケーションの共 有ディレクトリ、構成ファイルの配置用 途に使用 • 非同期ジョブの投入、負荷のピーク緩 和、サービス間の連携用途に使用 • テレメトリの蓄積、メタデータの保持、大 規模な参照系データ用途に使用 • アプリケーション用ファイル、ログ / バックアップ 保管、コンテンツ配信、データレイク (ADLS) 用途に使用 今回対象のサービス Azure Queue Storage Azure Table Storage

8.

Blob ストレージで使用可能な認証方法 基本は Microsoft Entra ID 認証で権限管理をし、一時的なアクセスを付与したい場合に SAS を使う 認証方法 概要 Microsoft Entra ID 認証 ユーザーやマネージド ID に権限を付与し管理する方法。アクセスキーや SAS キーを使わないため、セキュリティ最適化には Entra ID 認証が推奨。 共有キー (アクセスキー) 認証 ストレージアカウントの共有キーを使い認証を行う方法。共有キーが正しい場合、ストレージに対し全ての操作が可能とな る。Logic Apps のホストストレージのように Entra ID 認証を使えないケースを除いては非推奨。 Shared Access Signature (SAS) ストレージアカウントに対する一定期間のアクセス権限を付与する認証。ユーザーの権限を使うユーザー委任 SAS、アクセ スキーを使うサービス SAS、複数サービスにまたがるアカウント SAS がある。一時的なアクセス権限が必要な場合に使用す る。 匿名読み取りアクセス ストレージアカウントに不特定多数のアクセスを許可する設定。パブリックにファイルを配布するような場合を除き無効化を 推奨 (デフォルトでは無効)。 ※ ローカルSFTP 認証 (ADLS) 、Microsoft Purview 保護ポリシーや他ストレージサービスの認証は本趣旨から外れるため省略とします

9.

Azure におけるコントロールプレーンとデータプレーンの違い Azure ではリソースとデータの操作で必要な権限が異なる コントロールプレーンは Azure リソースの操作を行うアクション • Azure VM を作成する、削除する • ストレージアカウントの設定を変更する、など データプレーンは Azure リソース内のデータを操作するアクション • Blob コンテナ内のディレクトリ構成を参照する • Key Vault のシークレットを操作する、など Blob コンテナ内の Blob 参照、アップロードのような操作には データプレーンの権限を付与しなければいけない! 画像引用元:コントロールおよびデータ アクション

10.

Blob コンテナ内の Blob を操作するために必要なロール ■ データプレーン ロール名 概要 ユースケース Storage Blob Data Reader Blob データの読み取り専用ロール。Blob の内容参照やダウンロードは 可能だが更新や削除は不可。 ログや証跡の閲覧、データやコンテナ構成の参照、ファイルの ダウンロード、など Storage Blob Data Contributor アプリケーションによるファイルのアップロード、サービスによる Blob データの読み取り、書き込み、削除が可能なロール。ACL の管理 Blob 操作、データ分析時のデータ格納、バックアップ取得、 は不可。Blob ストレージのみであればこの権限が一番強い権限になる。 など Storage Blob Data Owner Blob データへのフルアクセス権を持つロール。Data Contributor の権 限に加え ADLS の ACL 管理が可能。 ADLS の管理、インフラ基盤の管理者 ロール名 概要 ユースケース Storage Blob Delegator User Delegation SAS 発行用のコントロールプレーンのロール。単体で は Blob の読み書き権限を持たない。 アプリケーションによる SAS の払い出し、管理者側による一 時的な権限の払い出し、など ■ コントロールプレーン

11.

Appendix: Blob ストレージを使った静的 Web ページ 静的 Web ページの $web 内は匿名アクセスで処理される Blob コンテナ自体はプライベートだけど匿名アクセスと同じ扱いになる • 他の Blob コンテナで静的 Web ページを使いたい場合は有効化が必要 プライベートなコンテンツの場合はアクセス制限で対応する • 特定の IP アドレス帯でのみアクセスを許可する、プライベートエンドポイントを 使う、など

12.

ストレージアカウントにおけるネットワーク制限の種別 パブリックエンドポイント プライベートエンドポイント ネットワーク境界 ネットワーク境界 (NSP) ユーザー インターネット Storage Account ユーザー Private Link Storage Account ユーザー Storage Account • インターネット経由でストレージにアクセスする既定のエンドポイ ント • 仮想ネットワーク内のプライベート IP でストレージに接続する 仕組み • ネットワークセキュリティ境界 (NSP) で PaaS リソースを論理 的な境界に入れる機能 • ファイアウォール規則やサービスエンドポイントで接続元 IP / サ ブネットを制限 • Private Link 経由で通信が Azure バックボーンに閉じ、イン ターネットを経由しない • 適用するとパブリックネットワークアクセスは「境界によるセキュ リティ保護」となり、受信 / 送信のアクセス規則で制御 • 既定では全世界から到達可能なため、必要な範囲のみ許 可する設定を推奨 • 閉域網要件やオンプレミスからの ExpressRoute / VPN 接 続で使用 • 境界内のリソース間通信は既定で許可。プライベートエンドポ イント経由の通信は NSP の評価対象外

13.

Azure Portal から閉域網のBlobコンテナにアクセスするには? アクセス元からストレージアカウント (Blob コンテナ) への通信経路が必要 構成例 Internet User Express Route Connection Virtual Network Gateway Private Link Storage Account

14.

ストレージアカウントでPrivate DNS を使う時の注意点 Private DNS のレコード追加、仮想ネットワークの関連付け漏れは最初に確認する • 基本的なことだけど割とミスってる人が結構いるので最初に確認しましょう Private DNS はデフォルトで Azure 標準 DNS (168.63.129.16) を参照するため、サービスタグの AzurePlatformDNS は許可する • NSG で意図しないサービスタグを制限し Azure 標準 DNS にアクセスできず通信できない、というケースもある ※ Azure 標準 DNS はサービスタグで意図的に防がない限り NSG の対象とはならない オンプレミス資産から接続する場合、Private DNS リゾルバーのようなサービスで Azure 側の DNS ゾーンを参照可能にする • Azure リソースでは名前解決できるのにオフィスの PC では名前解決ができない…、なんてことも • Azure VM 上に Active Directory + DNS サーバーを構築しているケースのように、どこの DNS サーバーを参照すればよいか構成を押さえておく 参考: 168.63.129.16 の DNS 機能について

15.

Azure Firewall の強制トンネリングによるルートの優先 強制トンネリングの構成では、接続先が許可されているか確認する 強制トンネリングをすると、一度 Firewall を経由して通信するため • Firewall 側で許可されていない場合は通信が拒否されるため注意 ① Private Endpoint 向きの通信は Route Table か Firewall で制御 • Private Endpoint の通信は Firewall を通さない、などルールを決めておく • Firewall を必ず通す場合は Firewall 側で許可する Azure Firewall Route Table Virtual Machine ② Private Link Storage Account

16.

Azure との間に Proxy や Firewall、統合製品がある場合 Azure に到達するまでに通信がロストするケースもあるため、必要に応じて通信許可設定を追加する

17.

閉域網の Blob コンテナ内を見たい場合の経路を忘れずに (運用・管理) 閉域網のシステムでは VPN や専用線を使うが、DNS 周りがちゃんとできているかを確認する • DNS リゾルバーでクライアントサイトの DNS レコードを Azure 側に渡していないと名前解決できずに通信できない…、なんてことも • hosts のような設定ファイルで無理矢理通信させるのは管理上煩雑になるので可能な限り避ける 運用・管理時に Blob 操作以外の運用作業があるなら管理用 VM みたいなものを用意するのもあり • 必要な時のみ VM を起動させることでコストを抑えられる • 通信経路を直接繋げたくない場合は Bastion 経由で接続するのも良いが、そこそこコストがかかるため注意

18.

まとめ ストレージアカウントの Blob コンテナ内のデータを操作するには、データプレーンのロール付与が必要 • ストレージアカウントの認証はやむを得ない場合を除き Microsoft Entra ID 認証をベースに設定する • コントロールプレーンのロールでは Blob コンテナ内のデータ操作をしたい場合は Storage Blob Data 〇〇 のロールを付与する Azure Portal から Blob コンテナ内のデータを見るには、アクセス元からストレージアカウントにアクセスできる経路が必要 • ストレージアカウント、Blob までの名前解決、DNS サーバーへの参照が適切に行えているかチェックする • Proxy / Firewall やネットワーク統合製品を使う場合、各所で通信がロストしていないか複合的に判断する 運用・管理で Blob 内を参照したい場合、ストレージアカウントを参照できる経路を確保する • システムからはアクセスできるけど運用時に何が入っているか見れない…、なんてことにならないように

19.

参考資料 / References ① ストレージ アカウントの概要 https://learn.microsoft.com/ja-jp/azure/storage/common/storage-account-overview https://learn.microsoft.com/ja-jp/azure/storage/common/storage-account-overview Azure Blob Storage の概要 https://learn.microsoft.com/ja-jp/azure/storage/blobs/storage-blobs-introduction Azure Storage 内のデータへのアクセスを承認する https://learn.microsoft.com/ja-jp/azure/storage/common/authorize-data-access?tabs=blobs Microsoft Entra IDを使用して BLOB へのアクセスを承認する https://learn.microsoft.com/ja-jp/azure/storage/blobs/authorize-access-azure-active-directory 共有キーを使用して承認する https://learn.microsoft.com/ja-jp/rest/api/storageservices/authorize-with-shared-key?toc=/azure/storage/blobs/toc.json&bc=/azure/storage/blobs/breadcrumb/toc.json 共有access署名 (SAS) を使用してAzure Storageリソースに制限付きaccessを付与する https://learn.microsoft.com/ja-jp/azure/storage/common/storage-sas-overview?toc=/azure/storage/blobs/toc.json&bc=/azure/storage/blobs/breadcrumb/toc.json

20.

参考資料 / References ② Azure ロールの定義について https://learn.microsoft.com/ja-jp/azure/role-based-access-control/role-definitions https://learn.microsoft.com/ja-jp/azure/role-based-access-control/role-definitions Azure Storage のネットワーク セキュリティ https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security-overview?toc=/azure/storage/blobs/toc.json&bc=/azure/storage/blobs/breadcrumb/toc.json Azure Storageにプライベート エンドポイントを使用する https://learn.microsoft.com/ja-jp/azure/storage/common/storage-private-endpoints?toc=/azure/storage/blobs/toc.json&bc=/azure/storage/blobs/breadcrumb/toc.json Azure Storage のネットワーク セキュリティ境界 https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security-perimeter Azure Firewall の強制トンネリング https://learn.microsoft.com/ja-jp/azure/firewall/forced-tunneling Azure DNS Private Resolver とは https://learn.microsoft.com/ja-jp/azure/dns/dns-private-resolver-overview