Azure Storage Account 暗号化スコープのカスタマーマネージドキー設定について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraformなど)まで、分かりやすく解説します。

この記事では、Azure Storage Account の暗号化スコープにおけるカスタマーマネージドキー(CMK)の設定について、リスクと対策を解説します。

ポリシーの説明

Azure Storage の暗号化スコープは、コンテナーまたは個別のBLOBレベルで暗号化を管理できる機能です。これにより、同一ストレージアカウント内で異なるデータセットに対して異なる暗号化キーを適用し、データの暗号的な分離を実現できます。

カスタマーマネージドキー(CMK)を使用することで、組織は暗号化キーの完全な制御権を持ち、コンプライアンス要件を満たすことができます。暗号化スコープは2020年から一般提供され、ストレージアカウントあたり最大5000個のスコープを作成可能です。

暗号化スコープの主要な特徴

  • 粒度の高い暗号化管理: コンテナーまたはBLOBレベルでの暗号化キー管理
  • マルチテナント対応: 異なる顧客データを異なるキーで暗号化
  • インフラストラクチャ暗号化: 256ビットAES暗号化による二重暗号化
  • キーの自動ローテーション: Azure Key Vaultとの統合による自動化

修復方法

コンソールでの修復手順

Azure コンソールを使用して、暗号化スコープにカスタマーマネージドキーを設定します。

  1. Key Vaultの作成と構成
    • Azure Portal (https://portal.azure.com) にログイン
    • 「Key Vaults」サービスを検索して選択
    • 「+ 作成」をクリック
    • 基本設定:
      • リソースグループ: 既存選択または新規作成
      • Key Vault名: kv-storage-encryption-prod
      • リージョン: ストレージアカウントと同一
      • 価格レベル: Premium(HSMバックアップキー用)
    • アクセス構成:
      • アクセス許可モデル: Azure ロールベースのアクセス制御
      • 論理的な削除: 有効化(90日間)
      • 消去保護: 有効化
    • ネットワーク:
      • エンドポイント: プライベートエンドポイント(推奨)
      • 許可されたIPアドレス: 管理者IPのみ
  2. 暗号化キーの作成
    • Key Vaultリソースを開く
    • 左メニューから「オブジェクト」→「キー」を選択
    • 「+ 生成/インポート」をクリック
    • キー作成オプション:
      • オプション: 生成
      • キーの種類: RSA-HSM(ハードウェアセキュリティモジュール保護)
      • RSAキーサイズ: 4096ビット(最大セキュリティ)
      • キー名: storage-encryption-key-prod
    • アクティベーション設定:
      • アクティベーション日: 即時または計画日時
      • 有効期限: 1年後(自動ローテーション設定と併用)
    • ローテーションポリシー:
      • 自動ローテーション: 有効
      • ローテーション期間: 90日
      • 有効期限前通知: 30日前
  3. ストレージアカウントのマネージドID構成
    • ストレージアカウントリソースを開く
    • 左メニューから「設定」セクション→「ID」を選択
    • システム割り当てタブ:
      • 状態: オンに切り替え
      • 「保存」をクリック
      • 表示されるオブジェクトID(プリンシパルID)をコピー
    • 確認事項:
      • Azure ADでのID登録を確認
      • プリンシパルIDが正しく生成されていることを確認
  4. Key Vaultアクセス許可の付与
    • Key Vaultリソースを開く
    • 左メニューから「アクセス制御 (IAM)」を選択
    • 「+ 追加」→「ロールの割り当てを追加」をクリック
    • ロールタブ:
      • ロール: Key Vault Crypto Service Encryption User
      • 説明を確認して「次へ」
    • メンバータブ:
      • アクセスの割り当て先: マネージドID
      • 「+ メンバーを選択する」をクリック
      • マネージドID: システム割り当てマネージドID – ストレージアカウント
      • 先ほどコピーしたストレージアカウントを選択
    • 確認と割り当て:
      • 設定を確認して「確認と割り当て」をクリック
  5. CMKを使用した暗号化スコープの作成
    • ストレージアカウントリソースを開く
    • 左メニューから「セキュリティとネットワーク」→「暗号化」を選択
    • 「暗号化スコープ」タブをクリック
    • 「+ 追加」をクリック
    • 基本設定:
      • スコープ名: scope-sensitive-data
      • 暗号化の種類: カスタマーマネージドキー
    • キー選択:
      • キーソース: Key Vault から選択
      • Key Vault: 作成した kv-storage-encryption-prod を選択
      • キー: storage-encryption-key-prod を選択
      • キーバージョン: 最新バージョンを自動的に使用(推奨)
    • 詳細設定:
      • インフラストラクチャ暗号化: 有効(二重暗号化)
    • 「OK」をクリックして作成
  6. コンテナーへの暗号化スコープの適用
    • ストレージアカウントの「データストレージ」→「コンテナー」を選択
    • 新規コンテナーの場合:
      • 「+ コンテナー」をクリック
      • 名前: sensitive-data-container
      • パブリックアクセスレベル: プライベート
      • 「詳細」タブ:
        • 暗号化スコープ: scope-sensitive-data を選択
        • 暗号化スコープのオーバーライドを防止: チェック
    • 既存コンテナーの場合:
      • 対象コンテナーを選択
      • 「構成」→「暗号化スコープの変更」
      • 新しいスコープを選択(データの再暗号化が必要)

最後に

この記事では、Azure Storage Account の暗号化スコープにおけるカスタマーマネージドキーの設定について、リスクと対策を解説しました。

カスタマーマネージドキーを使用することで、暗号化キーの完全な制御権を持ち、コンプライアンス要件を満たすとともに、セキュリティインシデントへの迅速な対応が可能になります。特に以下のシナリオでは、CMKの実装が強く推奨されます:

  • マルチテナント環境: テナント間の暗号的分離
  • 規制対象データ: GDPR、HIPAA、PCI-DSS準拠
  • 機密データ: 知的財産、個人情報、財務データ
  • データ主権要件: キーの地理的管理が必要な場合

実装の優先順位:

  1. 最優先: 規制対象および機密データ
  2. 高優先: 顧客データおよび個人情報
  3. 中優先: 内部業務データ
  4. 低優先: 公開情報および匿名化データ

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

CSPMについてはこちらで解説しております。併せてご覧ください。

参考情報

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る