Azure Blob Storage パブリックアクセスの無効化設定について
このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Azure Blob Storageのコンテナでパブリックアクセスが許可されている問題について、セキュリティリスクと具体的な対策方法を詳しく解説します。ストレージアカウントレベルとコンテナレベルの両方でパブリックアクセスを無効化する手順を、Azure Portal、Azure CLI、Terraformを使用して実装する方法を紹介します。

ポリシーの説明
Azure Blob Storageのパブリックアクセス制御は、ストレージアカウントレベルとコンテナレベルの2段階で管理されます。ストレージアカウントレベルで「allow_nested_items_to_be_public」(または「Allow Blob public access」)を無効にすることで、そのアカウント内のすべてのコンテナに対してパブリックアクセスを完全にブロックできます。この設定により、個別のコンテナレベルでパブリックアクセスを設定しようとしても、それが上書きされて無効になります。
修復方法
コンソールでの修復手順
Azure コンソールを使用して、Blobコンテナのパブリックアクセスを無効化します。
- Azure ポータルにサインイン
- https://portal.azure.com にアクセスしてサインインします
- ストレージアカウントへ移動
- 左側のメニューから「ストレージアカウント」を選択
- 対象のストレージアカウントを選択します
- ストレージアカウントレベルでパブリックアクセスを無効化(推奨:最初に実施)
- ストレージアカウントの概要ページで、左側のメニューから「設定」セクションの「構成」を選択
- 「BLOB 匿名アクセスを許可する」を「無効」に設定
- 上部の「保存」をクリック
- 重要: この設定により、アカウント内のすべてのコンテナのパブリックアクセスが強制的に無効化されます

- 既存のパブリックコンテナの確認(影響評価)
- 左側のメニューから「データストレージ」セクションの「コンテナー」を選択
- 各コンテナの「アクセス レベル」列を確認
- パブリックアクセスが有効になっているコンテナをリストアップ
- 注意: アプリケーションが匿名アクセスに依存していないか事前に確認
- 個別コンテナのアクセスレベル確認
- ストレージアカウントレベルの設定が適用されたことを確認
- すべてのコンテナが「プライベート (匿名アクセスなし)」になっていることを確認
- 必要に応じてSAS(Shared Access Signature)やマネージドIDを使用した認証方式に移行

- 設定の検証とテスト
- 匿名ブラウザまたはプライベートウィンドウを使用して、以前パブリックだったBlobのURLにアクセス
- HTTP 404または403エラーが返されることを確認
- Azure Activity Logsで設定変更が記録されていることを確認
- アプリケーションが正常に動作していることを確認
まとめ
この記事では、Azure Blob Storageのパブリックアクセスが許可されている問題について、セキュリティリスクと具体的な対策方法を解説しました。
パブリックアクセスの無効化は、データ漏洩防止の最も基本的かつ重要な対策です。ストレージアカウントレベルでの一括無効化を最優先で実施し、必要に応じてSASトークンやマネージドIDなどの認証メカニズムに移行することで、セキュアなアクセス制御を実現できます。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。
CSPMについてはこちらで解説しております。併せてご覧ください。


