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

ポリシーの説明
Azure Synapseワークスペースでは、デフォルトでMicrosoft管理キーによる暗号化が適用されていますが、より高度なセキュリティを実現するためにカスタマーマネージドキー(CMK)による二重暗号化が推奨されます。CMKを使用することで、データはMicrosoft管理キーと顧客管理キーの二層の暗号化により保護され、組織が暗号化キーの完全な制御権を持つことができます。これにより、コンプライアンス要件の充足と、データ漏洩リスクの大幅な低減が可能になります。Synapseでは、ワークスペースレベルでCMKを設定すると、専用SQLプールやサーバーレスSQLプール、Apache Sparkプールのデータも自動的に同じCMKで暗号化されます。
修復方法
コンソールでの修復手順
Azure Portalを使用して、Synapseワークスペースにカスタマーマネージドキー暗号化を設定します。
重要な注意事項 CMKはワークスペース作成時にのみ設定可能です。既存のワークスペースに後から追加することはできません。
ステップ1: Azure Key Vaultの準備
- Azure Portalにログインし、「Key vaults」を検索
- 「+ 作成」をクリックして新しいKey Vaultを作成
- 基本設定:
- サブスクリプション:適切なサブスクリプションを選択
- リソースグループ:Synapseワークスペースと同じリソースグループを推奨
- Key Vault名:一意の名前を入力
- 地域:Synapseワークスペースと同じリージョンを選択
- アクセス構成:
- アクセス許可モデル:「Vaultアクセスポリシー」または「Azure ロールベースのアクセス制御」を選択
- ネットワーク:必要に応じてプライベートエンドポイントを設定
- 重要: 「回復オプション」タブで以下を必ず設定:
- 論理的な削除:有効(デフォルト)
- 消去保護:有効にする(必須)
- 保持期間:90日(推奨)
- 「確認および作成」→「作成」をクリック
ステップ2: 暗号化キーの作成
- 作成したKey Vaultに移動
- 左側メニューの「キー」を選択
- 「+ 生成/インポート」をクリック
- キーの作成:
- オプション:生成
- 名前:「synapse-cmk」など分かりやすい名前
- キーの種類:RSA(RSA-HSMもサポートされています)
- RSAキーサイズ:2048または3072または4096(より高いセキュリティレベルには3072以上推奨)
- アクティブ化日:即時有効にする場合は空欄
- 有効期限(オプション):キーローテーションポリシーに応じて設定

- 「作成」をクリック
ステップ3: Synapseワークスペースの作成(CMK設定付き)
- Azure Portalで「Azure Synapse Analytics」を検索
- 「+ 作成」をクリック
- 基本設定タブ:
- サブスクリプション、リソースグループを選択
- ワークスペース名を入力
- リージョンを選択
- Data Lake Storage Gen2アカウントを選択または作成
- SQL管理者の資格情報を設定
- セキュリティタブ(重要):
- 「暗号化」セクションを展開
- 暗号化の種類:「カスタマー マネージド キーを使用」を選択
- Key Vault:先ほど作成したKey Vaultを選択
- キー:作成した暗号化キーを選択
- キー名:「enckey」など任意の名前を入力

- ネットワーク、タグの設定を完了
- 「確認および作成」→「作成」をクリック
ステップ4: Key Vaultアクセス権限の設定
Key Vaultのアクセス許可モデルに応じて、以下のいずれかの方法で設定します。
方法A: Vaultアクセスポリシーを使用する場合
- Synapseワークスペースの作成完了後、Key Vaultに移動
- 「アクセスポリシー」を選択
- 「+ アクセスポリシーの追加」をクリック
- アクセスポリシーの設定:
- キーのアクセス許可:「取得」「キーを折り返す」「キーの折り返しを解除」を選択
- プリンシパルの選択:SynapseワークスペースのマネージドIDを検索して選択
- アプリケーションとして承認:選択しない
- 「追加」→「保存」をクリック
方法B: Azure RBACを使用する場合
- Synapseワークスペースの作成完了後、Key Vaultに移動
- 左側メニューの「アクセス制御 (IAM)」を選択
- 「+ 追加」→「ロールの割り当ての追加」をクリック
- ロールの選択:
- 「Key Vault Crypto User」ロールを検索して選択
- 「次へ」をクリック

- メンバーの選択:
- 「マネージド ID」を選択
- 「+ メンバーを選択する」をクリック
- マネージドIDの種類:「Synapse ワークスペース」を選択
- SynapseワークスペースのマネージドIDを検索して選択
- 「選択」→「次へ」をクリック
- 「レビューと割り当て」→「レビューと割り当て」をクリック
注意事項
- RBACモデルの場合、「Key Vault Crypto User」ロールは暗号化操作に必要な最小権限を提供します
- より詳細な制御が必要な場合は、カスタムロールを作成することも可能です
ステップ5: ワークスペースキーのアクティブ化
- Synapseワークスペースに移動
- 左側メニューの「暗号化」を選択
- キーの状態が「アクティブ」になっていることを確認
- アクティブでない場合は、「アクティブ化」をクリック
ステップ6: 専用SQLプールの暗号化確認
- 専用SQLプールを作成する際、自動的にワークスペースのCMKが適用されます
- 既存のSQLプールがある場合は、再暗号化が必要な場合があります
- 各SQLプールの「透過的なデータ暗号化」設定を確認
ステップ7: キーローテーション時の注意事項
- キーローテーション実施時は、すべてのSQLプールがオンラインである必要があります
- 古いキーはKey Vaultに保持し、削除しないでください
- ローテーション後も、過去のバックアップの復元のために古いキーが必要になる場合があります
最後に
この記事では、Azure Synapseワークスペースのカスタマーマネージドキーによる暗号化について、リスクと対策を解説しました。
CMKによる二重暗号化は、データ保護の最高レベルのセキュリティを提供し、規制要件の充足と組織のデータ主権確立に不可欠です。ワークスペース作成時にのみ設定可能という制限があるため、初期設計段階での検討が極めて重要です。また、キーローテーション時には全SQLプールをオンラインにする必要がある点にも留意が必要です。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。
CSPMについてはこちらで解説しております。併せてご覧ください。



