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

ポリシーの説明
Azure Storage の暗号化スコープは、コンテナーまたは個別のBLOBレベルで暗号化を管理できる機能です。これにより、同一ストレージアカウント内で異なるデータセットに対して異なる暗号化キーを適用し、データの暗号的な分離を実現できます。
カスタマーマネージドキー(CMK)を使用することで、組織は暗号化キーの完全な制御権を持ち、コンプライアンス要件を満たすことができます。暗号化スコープは2020年から一般提供され、ストレージアカウントあたり最大5000個のスコープを作成可能です。
暗号化スコープの主要な特徴
- 粒度の高い暗号化管理: コンテナーまたはBLOBレベルでの暗号化キー管理
- マルチテナント対応: 異なる顧客データを異なるキーで暗号化
- インフラストラクチャ暗号化: 256ビットAES暗号化による二重暗号化
- キーの自動ローテーション: Azure Key Vaultとの統合による自動化
修復方法
コンソールでの修復手順
Azure コンソールを使用して、暗号化スコープにカスタマーマネージドキーを設定します。
- Key Vaultの作成と構成
- Azure Portal (https://portal.azure.com) にログイン
- 「Key Vaults」サービスを検索して選択
- 「+ 作成」をクリック
- 基本設定:
- リソースグループ: 既存選択または新規作成
- Key Vault名:
kv-storage-encryption-prod - リージョン: ストレージアカウントと同一
- 価格レベル: Premium(HSMバックアップキー用)
- アクセス構成:
- アクセス許可モデル: Azure ロールベースのアクセス制御
- 論理的な削除: 有効化(90日間)
- 消去保護: 有効化
- ネットワーク:
- エンドポイント: プライベートエンドポイント(推奨)
- 許可されたIPアドレス: 管理者IPのみ
- 暗号化キーの作成
- Key Vaultリソースを開く
- 左メニューから「オブジェクト」→「キー」を選択
- 「+ 生成/インポート」をクリック
- キー作成オプション:
- オプション: 生成
- キーの種類: RSA-HSM(ハードウェアセキュリティモジュール保護)
- RSAキーサイズ: 4096ビット(最大セキュリティ)
- キー名:
storage-encryption-key-prod
- アクティベーション設定:
- アクティベーション日: 即時または計画日時
- 有効期限: 1年後(自動ローテーション設定と併用)
- ローテーションポリシー:
- 自動ローテーション: 有効
- ローテーション期間: 90日
- 有効期限前通知: 30日前

- ストレージアカウントのマネージドID構成
- ストレージアカウントリソースを開く
- 左メニューから「設定」セクション→「ID」を選択
- システム割り当てタブ:
- 状態: オンに切り替え
- 「保存」をクリック
- 表示されるオブジェクトID(プリンシパルID)をコピー
- 確認事項:
- Azure ADでのID登録を確認
- プリンシパルIDが正しく生成されていることを確認
- Key Vaultアクセス許可の付与
- Key Vaultリソースを開く
- 左メニューから「アクセス制御 (IAM)」を選択
- 「+ 追加」→「ロールの割り当てを追加」をクリック
- ロールタブ:
- ロール: Key Vault Crypto Service Encryption User
- 説明を確認して「次へ」
- メンバータブ:
- アクセスの割り当て先: マネージドID
- 「+ メンバーを選択する」をクリック
- マネージドID: システム割り当てマネージドID – ストレージアカウント
- 先ほどコピーしたストレージアカウントを選択
- 確認と割り当て:
- 設定を確認して「確認と割り当て」をクリック
- CMKを使用した暗号化スコープの作成
- ストレージアカウントリソースを開く
- 左メニューから「セキュリティとネットワーク」→「暗号化」を選択
- 「暗号化スコープ」タブをクリック
- 「+ 追加」をクリック
- 基本設定:
- スコープ名:
scope-sensitive-data - 暗号化の種類: カスタマーマネージドキー
- スコープ名:
- キー選択:
- キーソース: Key Vault から選択
- Key Vault: 作成した
kv-storage-encryption-prodを選択 - キー:
storage-encryption-key-prodを選択 - キーバージョン: 最新バージョンを自動的に使用(推奨)
- 詳細設定:
- インフラストラクチャ暗号化: 有効(二重暗号化)
- 「OK」をクリックして作成
- コンテナーへの暗号化スコープの適用
- ストレージアカウントの「データストレージ」→「コンテナー」を選択
- 新規コンテナーの場合:
- 「+ コンテナー」をクリック
- 名前:
sensitive-data-container - パブリックアクセスレベル: プライベート
- 「詳細」タブ:
- 暗号化スコープ:
scope-sensitive-dataを選択 - 暗号化スコープのオーバーライドを防止: チェック
- 暗号化スコープ:
- 既存コンテナーの場合:
- 対象コンテナーを選択
- 「構成」→「暗号化スコープの変更」
- 新しいスコープを選択(データの再暗号化が必要)
最後に
この記事では、Azure Storage Account の暗号化スコープにおけるカスタマーマネージドキーの設定について、リスクと対策を解説しました。
カスタマーマネージドキーを使用することで、暗号化キーの完全な制御権を持ち、コンプライアンス要件を満たすとともに、セキュリティインシデントへの迅速な対応が可能になります。特に以下のシナリオでは、CMKの実装が強く推奨されます:
- マルチテナント環境: テナント間の暗号的分離
- 規制対象データ: GDPR、HIPAA、PCI-DSS準拠
- 機密データ: 知的財産、個人情報、財務データ
- データ主権要件: キーの地理的管理が必要な場合
実装の優先順位:
- 最優先: 規制対象および機密データ
- 高優先: 顧客データおよび個人情報
- 中優先: 内部業務データ
- 低優先: 公開情報および匿名化データ
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。
CSPMについてはこちらで解説しております。併せてご覧ください。

