カスタマー マネージド キー(CMK)とマイクロソフト マネージド キー(MMK)の違い
Azure CMKとMMKの違いについて
こんにちは、Sea Otter です。今回は、Azureでデータを暗号化する際に使われるカスタマー マネージド キー(CMK)とマイクロソフト マネージド キー(MMK)の違いについて説明したいと思います。
CMKとMMKとは
CMKとMMKは、Azureでデータを暗号化する際に使用されるキーの種類です。
CMKはお客様が管理するキーで、読み取り、作成、削除、更新などの操作が可能です¹。Azure Storageなどのサービスでは、お客様が自分で暗号化キーを指定することができます。
MMKはマイクロソフトが管理するキーで、お客様は操作できません。Azure Data Encryption-at-Restなどのサービスでは、既定でMMKが使用されます。
CMKとMMKの違いは主に以下の3点です。
- コンプライアンス ( 管理者 )
- セキュリティ ( アクセス制御 )
- 実装方法
それぞれについて詳しく見ていきましょう。
コンプライアンス
CMKとMMKではコンプライアンス要件に対応する方法が異なります。
CMKを使用する場合は、お客様自身がキー管理ポリシーや監査ログなどを設定してコンプライアンス要件を満たす必要があります。例えばPCI DSSやHIPAAなどの規制に従ってデータ保護やキーローテーションなどを行うことが可能です。
MMKを使用する場合は、マイクロソフトがキー管理ポリシーや監査ログなどを提供してコンプライアンス要件を満たします¹²。例えばISO 27001やSOC 2 Type IIなどの認証や報告書を参照することが可能です。
セキュリティ
CMKとMMKではセキュリティレベルやリスクも異なります。
CMKを使用する場合は、お客様自身がキーへのアクセス制御や暗号化設定などを行うことでセキュリティレベルを高めることができます。例えばRBACやIAMポリシーなどで特定のユーザーやロールだけにキーへの操作権限を付与したり, AES256やRSA2048など強力な暗号化方式やアルゴリズムを選択したりすることができます。ただし、キー管理には責任やコストが伴うため、キーの紛失や漏洩などのリスクも考慮する必要があります 。
MMKを使用する場合は、マイクロソフトがキーへのアクセス制御や暗号化設定などを行うことでセキュリティレベルを保証します。例えばAES256やRSA2048など強力な暗号化方式やアルゴリズムが既定で使用されたり キーのローテーションやバックアップなどが自動的に行われたりします。 ただし、お客様はキーへの操作権限や暗号化設定などを変更することができません 。
実装方法
CMKとMMKでは実装方法も異なります。
CMKを使用する場合は、以下の手順で実装する必要があります。
- Azure Key VaultまたはAzure Managed HSMにキーを作成またはインポートする
- キーストアに対してRBACまたはIAMポリシーでアクセス許可を付与する
- ストレージ アカウントに対してマネージド ID を有効にする
- ストレージ アカウントに対してカスタマー マネージド キーを指定する
これらの手順はAzureポータルやAzure CLI、Azure PowerShell、REST APIなどから実行できます。
MMKを使用する場合は、特に実装手順はありません。既定でMMKが使用されるため、データ暗号化は自動的に行われます。
まとめ
今回は、Azure CMKとMMKの違いについてコンプライアンス、セキュリティ、実装方法の観点から解説しました。CMKとMMKではそれぞれメリットとデメリットがありますので、お客様のニーズや要件に応じて適切なキー種類を選択してください。
参考
Discussion