Azure ストレージアカウントにおけるCMK暗号化設定

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

この記事では、重要なデータを格納するAzureストレージアカウントでカスタマーマネージドキーによる暗号化を設定する方法について、リスクと対策を解説します。

ポリシーの説明

重要なビジネスデータ、個人情報(PII)、機密情報などを格納するストレージアカウントでは、標準的なMicrosoft管理キーによる暗号化では不十分な場合があります。

特に規制要件の厳しい業界(金融、医療、政府機関、重要インフラなど)では、カスタマーマネージドキー(CMK)による暗号化が必須要件となり、組織が独自に暗号化キーを管理し、必要に応じて即座にアクセスを無効化できる能力が求められます。

修復方法

コンソールでの修復手順

Azure コンソールを使用して、重要データを格納するストレージアカウントでカスタマーマネージドキーによる暗号化を有効にします。

事前準備

  1. データ分類とリスク評価
    • データ分類レベル:
      • Critical: 金融取引、医療記録、政府機密情報
      • High: PII、クレジットカード情報、知的財産
      • Medium: 内部業務データ、顧客コミュニケーション
      • Low: 公開情報、マーケティング資料
    • 規制要件マッピング:
      • GDPR/CCPA: 個人データ
      • PCI-DSS: カード会員データ
      • HIPAA: 保護対象保健情報(PHI)
      • SOX: 財務記録
  2. エンタープライズ級Key Vaultの選定
    • Azure Key Vault Premium:
      • コスト効率的(約$5/キー/月)
      • 中程度のセキュリティ要件に適合
    • Azure Managed HSM:
      • 完全なシングルテナントHSM
      • 高コスト(約$3,600/HSM/月)
      • 最高レベルのセキュリティ要件に適合
    • 地理的冗長性:
      • プライマリとセカンダリリージョンにKey Vaultを配置
      • クロスリージョンバックアップの実装

手順

  1. 専用Key Vaultの作成(重要データ用)
    • Azure Portalで「Key Vaults」に移動
    • 「作成」をクリックし、以下の設定を行う:
      • 名前: kv-critical-[environment]-[region]
      • 価格レベル: Premium(HSMバックアップ)
      • 削除保護(Purge Protection): 有効(必須、不可逆)
      • 論理的な削除(Soft Delete): 有効(既定)
      • 保持期間: 90日(規制要件に応じて調整)
    • ネットワーク設定:
      • ファイアウォール: 有効
      • プライベートエンドポイント: 設定推奨
  2. ゼロトラストアクセス制御の実装
    • RBAC設定 (Key Vaultの「アクセス制御(IAM)」):
      • 「Key Vault Administrator」: セキュリティチームのみ(2-3名)
      • 「Key Vault Crypto Service Encryption User」: ストレージアカウントのマネージドID
      • 「Key Vault Reader」: 監査担当者(読み取りのみ)
    • 条件付きアクセス:
      • 時間制限: 業務時間内のみアクセス許可
      • 地理的制限: 特定の国/リージョンからのみ
      • MFA必須: 全管理者アクセスにMFAを強制
    • Privileged Identity Management (PIM):
      • Just-In-Timeアクセス: 最大4時間の一時的権限付与
      • 承認ワークフロー: 2名以上の承認者が必要
      • アクセスレビュー: 四半期ごとの権限見直し
  3. エンタープライズ級暗号化キーの構成
    • Key Vaultの「キー」セクションで「生成/インポート」
    • キー仕様:
      • キーの種類: RSA-HSM(FIPS 140-2 Level 2/3保護)
      • RSAキーサイズ:
        • 4096ビット: 重要データ(長期保管)
        • 3072ビット: 一般機密データ
        • 2048ビット: 短期保管データ
      • キー名命名規則: cmk-[dataclass]-[env]-[YYYYMMDD]
        • 例: cmk-critical-prod-20240101
    • キーローテーションポリシー:
      • 自動ローテーション: 有効
      • ローテーションスケジュール:
        • Criticalデータ: 30日
        • Highデータ: 60日
        • Mediumデータ: 90日
      • 通知設定: ローテーション29日前にアラート
  4. ストレージアカウントの高度な設定
  • 対象ストレージアカウントの「セキュリティとネットワーク」→「暗号化」
  • 「暗号化の種類」で「カスタマー マネージド キー」を選択
  • 「インフラストラクチャの暗号化」を有効化(二重暗号化)
  • 暗号化スコープの作成:
    • 重要データ用の専用スコープを作成
    • スコープごとに異なるキーを割り当て
  1. 包括的な監視とアラート体制
    • 診断ログ設定:
      • Log Analyticsワークスペースへの全ログ送信
      • Azure Sentinelとの統合(SIEM/SOAR)
      • ログ保持期間: 最低1年(コンプライアンス要件)
    • クリティカルアラート設定:
      • P1 – 緊急:
        • キー削除/無効化操作
        • アクセスポリシー変更
        • 5回以上の認証失敗
      • P2 – 高:
        • キー使用量の200%以上の増加
        • 未承認地域からのアクセス
        • 業務時間外の管理操作
      • P3 – 中:
        • キーローテーション期限接近
        • バックアップ失敗
    • インシデントレスポンス:
      • 24/7 SOC通知
      • 自動エスカレーションプロセス
      • Runbookによる対応手順の標準化
  2. エンタープライズBCP/DR戦略
    • バックアップ戦略:
      • キーバックアップ: 毎日自動実行
      • バックアップ保存先:
        • プライマリ: Azure Backup Vault
        • セカンダリ: オフサイトHSM
        • ターシャリ: エスクローサービス
      • 保持期間: 7年(法的要件に準拠)
    • ディザスタリカバリ:
      • RTO(目標復旧時間): 4時間
      • RPO(目標復旧時点): 1時間
      • フェイルオーバー手順:
        1. セカンダリKey Vaultへの切り替え
        2. DNSレコード更新
        3. ストレージアカウントのキー再設定
      • DRテスト: 四半期ごとに実施

最後に

この記事では、重要データを格納するAzureストレージアカウントにおけるエンタープライズ級CMK実装について解説しました。

特に規制要件の厳しい業界(金融、医療、政府機関)では、このエンタープライズ級のCMK実装がGDPR、HIPAA、PCI-DSS等のコンプライアンス要件を満たす上で必須となります。

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

参考情報

この記事をシェアする

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

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

料金プランを詳しく見る