Azure ストレージアカウントのインフラストラクチャ暗号化設定について
このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Azureストレージアカウントにおけるインフラストラクチャ暗号化の有効化について、リスクと対策を解説します。

ポリシーの説明
Azure ストレージアカウントのインフラストラクチャ暗号化は、データに対して二重の暗号化層を提供する高度なセキュリティ機能です。有効化すると、サービスレベルの暗号化(256ビットAES)に加えて、インフラストラクチャレベルでも256ビットAES暗号化が適用され、FIPS 140-2準拠の二重暗号化が実現されます。
サポートされるストレージアカウントの種類:
- General-purpose v2 (StorageV2)
- Premium Block Blob Storage (BlockBlobStorage)
- Premium File Shares (FileStorage)
- Premium Page Blob Storage
重要な特徴:
- 異なる暗号化キーを使用した2層の256ビットAES暗号化
- Microsoft管理キーまたはカスタマー管理キー(CMK)の両方で利用可能
- 作成時のみ設定可能(後から変更不可)
- 追加コストは発生しません
修復方法
コンソールでの修復手順
重要: インフラストラクチャ暗号化は、ストレージアカウント作成時にのみ設定可能で、後から変更することはできません。既存のストレージアカウントに適用する場合は、新しいストレージアカウントを作成してデータを移行する必要があります。
新規ストレージアカウント作成時の設定手順:
- Azure Portalへのアクセス
- Azure Portal (https://portal.azure.com) にログインします
- 「リソースの作成」または「+ 作成」をクリックします
- ストレージアカウントの選択
- 「ストレージアカウント」を検索して選択します
- 「作成」をクリックします
- 基本設定の入力
- サブスクリプション:対象のサブスクリプションを選択
- リソースグループ:既存を選択または新規作成
- ストレージアカウント名:グローバルで一意の名前を入力(3-24文字、小文字と数字のみ)
- リージョン:データの保存場所を選択
- パフォーマンス:Standard または Premium を選択
- 冗長性:レプリケーション方式を選択(LRS、ZRS、GRS、RA-GRS)
- 詳細設定タブへの移動
- 「次へ: 詳細」をクリックします
- セキュリティ設定を確認します
- 暗号化タブでの設定
- 「暗号化」タブをクリックします
- 「暗号化の種類」セクションを確認します
- 「インフラストラクチャ暗号化を有効にする」チェックボックスをオンにします
- 暗号化キーの管理方法を選択(Microsoft管理キーまたはカスタマー管理キー)

- 設定の確認と作成
- 「確認および作成」をクリックします
- すべての設定を確認し、インフラストラクチャ暗号化が「有効」になっていることを確認
- 「作成」をクリックしてデプロイを開始します
既存ストレージアカウントの確認方法:
- ストレージアカウントへの移動
- Azure Portalで対象のストレージアカウントを検索して選択します
- 暗号化設定の確認
- 左側のメニューから「セキュリティとネットワーク」セクションを展開
- 「暗号化」をクリックします
- インフラストラクチャ暗号化の状態確認
- 「暗号化の種類」セクションを確認
- 「インフラストラクチャ暗号化」の項目が「有効」または「無効」と表示されます
- 無効の場合、新規ストレージアカウントへの移行が必要です
データ移行戦略
既存のストレージアカウントから新規のインフラストラクチャ暗号化対応アカウントへの移行:
# 1. AzCopyを使用したデータコピー
azcopy copy \
'https://<source-account>.blob.core.windows.net/<container>/*?<SAS-token>' \
'https://<dest-account>.blob.core.windows.net/<container>/*?<SAS-token>' \
--recursive=true \
--preserve-smb-permissions=true \
--preserve-smb-info=true
# 2. Azure Data Factoryを使用した大規模データ移行
# (GUIまたはARMテンプレートで設定)
# 3. PowerShellスクリプトによる移行
$sourceContext = New-AzStorageContext -StorageAccountName '<source-account>' -StorageAccountKey '<key>'
$destContext = New-AzStorageContext -StorageAccountName '<dest-account>' -StorageAccountKey '<key>'
# コンテナー間でBlobをコピー
Get-AzStorageBlob -Container '<source-container>' -Context $sourceContext |
Start-AzStorageBlobCopy -DestContainer '<dest-container>' -DestContext $destContext
最後に
この記事では、Azure ストレージアカウントのインフラストラクチャ暗号化について、リスクと対策を解説しました。
インフラストラクチャ暗号化は、高機密データや厳格なコンプライアンス要件がある環境において、追加のセキュリティ層を提供する重要な機能です。設定は作成時のみ可能という制限があるため、ストレージアカウントの設計段階で慎重に検討する必要があります。
推奨事項:
- 機密データを扱うすべての本番環境で有効化を推奨
- 開発・テスト環境でも、本番環境と同等の設定を適用
- 定期的な暗号化状態の監査とレビューを実施
- インシデント対応計画に暗号化キーの侵害シナリオを含める
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。
CSPMについてはこちらで解説しております。併せてご覧ください。

