Azure Disk Storage のサーバー側暗号化

適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ 均一スケール セット

ほとんどの Azure マネージド ディスクは Azure Storage 暗号化によって暗号化されています。暗号化では、サーバー側暗号化 (SSE) を使用してデータを保護し、組織のセキュリティとコンプライアンスのコミットメントを満たすことができます。 Azure Storage 暗号化では、Azure マネージド ディスク (OS およびデータ ディスク) に格納されているお使いのデータをクラウドに永続化するときに、既定で保存時に自動的に暗号化されます。 ただし、ホストでの暗号化が有効になっているディスクは、Azure Storage によって暗号化されません。 ホストでの暗号化が有効になっているディスクの場合、VM をホストしているサーバーがデータの暗号化を提供し、暗号化されたデータは Azure Storage に送信されます。

Azure マネージド ディスク内のデータは、利用できる最も強力なブロック暗号の 1 つである 256 ビット AES 暗号化を使って透過的に暗号化され、FIPS 140-2 に準拠しています。 Azure マネージド ディスクの基になっている暗号化モジュールについて詳しくは、「暗号化 API:次世代」を参照してください。

Azure Storage の暗号化は、マネージド ディスクのパフォーマンスには影響しません。また、追加のコストはかかりません。 Azure Storage の暗号化の詳細については、「Azure Storage の暗号化」をご参照ください。

Note

一時ディスクはマネージド ディスクではなく、ホストで暗号化を有効にしない限り、SSE によって暗号化されません。

暗号化キーの管理について

プラットフォーム マネージド キーを利用してお使いのマネージド ディスクを暗号化することも、お使いの独自のキーを使用して暗号化を管理することもできます。 独自のキーを使用して暗号化を管理する場合は、マネージド ディスク内のすべてのデータの暗号化と暗号化解除に使用するカスタマー マネージド キーを指定できます。

以降のセクションでは、キー管理の各オプションについてさらに詳しく説明します。

プラットフォーム マネージド キー

既定では、マネージド ディスクはプラットフォーム マネージド暗号化キーを使用します。 すべてのマネージド ディスク、スナップショット、イメージ、および既存のマネージド ディスクに書き込まれるデータは、保存時に、プラットフォーム マネージド キーを使用して自動的に暗号化されます。 プラットフォーム マネージド キーは Microsoft によって管理されます。

カスタマー マネージド キー

ユーザー独自のキーを使用して、各マネージド ディスクのレベルで暗号化を管理できます。 カスタマー マネージド キーを指定すると、データを暗号化するキーへのアクセスを保護および制御するために、そのキーが使用されます。 カスタマー マネージド キーを使用すると、アクセス制御をより柔軟に管理できます。

カスタマー マネージド キーを格納するには、次のいずれかの Azure キー ストアを使用する必要があります。

ご使用の RSA キーを Key Vault にインポートするか、Azure Key Vault で新しい RSA キーを生成することができます。 Azure マネージド ディスクはエンベロープ暗号化を使用して、暗号化と暗号化解除を完全に透過的な方法で処理します。 これは、AES 256 ベースのデータ暗号化キー (DEK) を使用してデータを暗号化します。このキーは、ご使用のキーを使用して保護されます。 ストレージ サービスは、データ暗号化キーを生成し、RSA 暗号化を使用してカスタマー マネージド キーで暗号化します。 エンベロープ暗号化を使用すると、VM に影響を与えることなく、コンプライアンス ポリシーに従って定期的にキーをローテーション (変更) することができます。 キーを交換すると、ストレージ サービスによって、新しいカスタマー マネージド キーを使用してデータ暗号化キーが再暗号化されます。

マネージド ディスクとキー コンテナーまたはマネージド HSM は同じ Azure リージョンに存在している必要があります。ただし、サブスクリプションは異なっていてもかまいません。 また、「クロステナントのカスタマー マネージド キー を使用してマネージド ディスクを暗号化する (プレビュー)」を使用している場合を除き、それらは同じ Microsoft Entra テナント内に存在する必要があります。

キーのフル コントロール

DEK の暗号化と暗号化解除にキーを使用するための、Key Vault またはマネージド HSM 内のマネージド ディスクへのアクセス権の付与を行う必要があります。 これにより、データとキーを完全に制御できます。 任意の時点で、キーを無効にしたり、マネージド ディスクへのアクセスを取り消したりすることができます。 また、Azure Key Vault 監視で暗号化キーの使用状況を監査して、マネージド ディスクまたは他の信頼された Azure サービスのみがキーにアクセスしていることを確認することもできます。

重要

キーが無効、削除、または期限切れになると、そのキーを OS またはデータ ディスクに使用する VM はすべて自動的にシャットダウンされます。 自動シャットダウン後、キーが再度有効になるまで、または新しいキーを割り当てるまで、VM は起動しません。

通常、キーが無効、削除、または期限切れになってから 1 時間後に、ディスク I/O (読み取りまたは書き込み操作) が失敗し始めます。

次の図は、マネージド ディスクで Microsoft Entra ID と Azure Key Vault を使用して、カスタマー マネージド キーを使って要求を行う方法を示しています。

マネージド ディスクとカスタマー マネージド キーのワークフローの図。管理者は Azure Key Vault を作成し、ディスク暗号化セットを作成してから、ディスク暗号化セットを設定します。このセットは VM に関連付けられています。これにより、ディスクで Microsoft Entra ID を使用して認証を行うことができます。

次の一覧では、図について詳しく説明します。

  1. Azure Key Vault の管理者が Key Vault リソースを作成します。
  2. Key Vault 管理者は、RSA キーを Key Vault にインポートするか、Key Vault 内で新しい RSA キーを生成します。
  3. この管理者は、Azure Key Vault ID とキー URL を指定して、ディスク暗号化セット リソースのインスタンスを作成します。 ディスク暗号化セットは、マネージド ディスクのキー管理を簡略化するために導入された新しいリソースです。
  4. ディスク暗号化セットを作成すると、システム割り当てマネージド ID が Microsoft Entra ID に作成され、ディスク暗号化セットに関連付けられます。
  5. Azure Key Vault の管理者はその後、Key Vault 内での操作を実行するためのアクセス許可をマネージド ID に付与します。
  6. VM ユーザーは、ディスク暗号化セットにディスクを関連付けることによってディスクを作成します。 また、VM ユーザーは、既存のリソースに対するカスタマー マネージド キーを使用したサーバー側の暗号化を、ディスク暗号化セットへのリソースの関連付けによって有効にすることもできます。
  7. マネージド ディスクは、マネージド ID を使用して Azure Key Vault に要求を送信します。
  8. データの読み取りまたは書き込みを行うために、マネージド ディスクは Azure Key Vault に要求を送信して、データの暗号化と暗号化解除を実行するためにデータ暗号化キーを暗号化 (ラップ) および暗号化解除 (ラップ解除) します。

カスタマー マネージド キーへのアクセスを取り消すには、Azure Key Vault PowerShell および Azure Key Vault CLI に関する記事をご覧ください。 アクセスを取り消すと、Azure Storage が暗号化キーにアクセスできなくなるため、ストレージ アカウント内の全データへのアクセスが事実上ブロックされます。

カスタマー マネージド キーの自動キー ローテーション

一般に、カスタマー マネージド キーを使っている場合は、最新のキー バージョンへのキーの自動ローテーションを有効にする必要があります。 キーの自動ローテーションは、キーのセキュリティを確保するのに役立ちます。 ディスクから、ディスク暗号化セットを介してキーが参照されます。 ディスク暗号化セットの自動ローテーションを有効にすると、ディスク暗号化セットを参照するすべてのマネージド ディスク、スナップショット、およびイメージがシステムによって自動的に更新され、1 時間以内に新しいバージョンのキーが使用されます。 自動キー ローテーションを使用してカスタマー マネージド キーを有効にする方法は、「自動キー ローテーションを使用して Azure Key Vault と DiskEncryptionSet を設定する」を参照してください。

Note

キーの自動ローテーション中、仮想マシンは再起動されません。

キーの自動ローテーションを有効にできない場合は、他の方法を使って、キーの有効期限が切れる前にアラートを生成できます。 このようにすると、有効期限が切れる前にキーをローテーションし、ビジネス継続性を維持することができます。 Azure Policy または Azure Event Grid を使って、キーの有効期限が間もなく切れるときに通知を送信できます。

制限

現在、カスタマー マネージド キーには次の制限があります。

  • 増分スナップショットを含むディスクに対してこの機能が有効になっている場合、そのディスクまたはそのスナップショットでこれを無効にすることはできません。 これを回避するには、カスタマー マネージド キーを使用していないまったく別のマネージド ディスクにすべてのデータをコピーします。 これは Azure CLI または Azure PowerShell モジュールのいずれかで行うことができます。
  • 2,048 ビット、3,072 ビットおよび 4,096 ビットのサイズのソフトウェアと HSM の RSA キーのみがサポートされており、その他のキーまたはサイズはサポートされていません。
    • HSM キーには、premium レベルの Azure Key Vault が必要です。
  • Ultra Disks と Premium SSD v2 ディスクの場合のみ:
    • サーバー側の暗号化とカスタマー マネージド キーで暗号化されたディスクから作成されたスナップショットは、同じカスタマー マネージド キーを使用して暗号化する必要があります。
    • カスタマー マネージド キーで暗号化された Ultra Disks と Premium SSD v2 ディスクに対しては、ユーザー割り当てマネージド ID がサポートされません。
  • お使いのカスタマー マネージド キー (ディスク暗号化セット、VM、ディスク、およびスナップショット) に関連するほとんどのリソースは、同じサブスクリプションとリージョンに存在する必要があります。
    • Azure Key Vault は異なるサブスクリプションから使用できますが、ディスク暗号化セットと同じリージョンに存在する必要があります。 プレビューとして、別の Microsoft Entra テナントから Azure Key Vault を使用できます。
  • カスタマー マネージド キーで暗号化されたディスクは、それらが接続されている VM の割り当てが解除された場合にのみ、別のリソース グループに移動できます。
  • カスタマー マネージド キーで暗号化されたディスク、スナップショット、およびイメージは、サブスクリプション間で移動できません。
  • 現在または以前に Azure Disk Encryption を使用して暗号化されたマネージド ディスクは、カスタマー マネージド キーを使用して暗号化することはできません。
  • サブスクリプションごとに、リージョンに最大で 5000 のディスク暗号化セットのみを作成できます。
  • カスタマー マネージド キーを共有イメージ ギャラリーで使用する方法の詳細については、「プレビュー:イメージの暗号化にカスタマー マネージド キーを使用する」を参照してください。

サポートされているリージョン

カスタマー マネージド キーは、マネージド ディスクが使用可能なすべてのリージョンで利用できます。

重要

カスタマー マネージド キーは、Microsoft Entra ID の 1 つの機能である、Azure リソース用マネージド ID に依存します。 カスタマー マネージド キーを構成すると、内部でマネージド ID がリソースに自動的に割り当てられます。 その後、サブスクリプション、リソース グループ、またはマネージド ディスクを 1 つの Microsoft Entra ディレクトリから別のディレクトリに移動した場合、そのマネージド ディスクに関連付けられているマネージド ID は新しいテナントに転送されないため、カスタマー マネージド キーが機能しなくなることがあります。 詳しくは、「Microsoft Entra ディレクトリ間のサブスクリプションの転送」を参照してください。

マネージド ディスクのカスタマー マネージド キーを有効にするには、Azure PowerShell モジュールAzure CLI、または Azure portal のいずれかを使用して有効にする方法について説明している記事を参照してください。

コード サンプルについては、「CLI でスナップショットからマネージド ディスクを作成する」を参照してください。

ホストでの暗号化 - ご利用の VM データのエンドツーエンド暗号化

ホストで暗号化を有効にすると、VM ホスト自体 (ご利用の VM が割り当てられている Azure サーバー) でその暗号化が開始されます。 お使いの一時ディスクと OS およびデータ ディスクのキャッシュのデータは、その VM ホストに格納されます。 ホストでの暗号化を有効にした後、このデータはすべて保存時に暗号化され、暗号化された状態で永続化されているストレージ サービスに送られます。 基本的に、ホストでの暗号化では、データがエンドツーエンドで暗号化されます。 ホストでの暗号化では、お使いの VM の CPU が使用されないため、お使いの VM のパフォーマンスには影響しません。

エンドツーエンド暗号化を有効にすると、一時ディスクとエフェメラル OS ディスクは保存時に、プラットフォーム マネージド キーを使用して暗号化されます。 OS とデータ ディスクのキャッシュは、選択されたディスクの暗号化の種類に応じて、カスタマー マネージド キーまたはプラットフォーム マネージド キーのいずれかを使用して保存時に暗号化されます。 たとえば、ディスクがカスタマー マネージド キーで暗号化されている場合、そのディスクのキャッシュはカスタマー マネージド キーで暗号化されます。ディスクがプラットフォーム マネージド キーで暗号化されている場合、そのディスクのキャッシュはプラットフォーム マネージド キーで暗号化されます。

制限

  • 4k セクター サイズの Ultra Disks および Premium SSD v2 でサポートされています。
  • 2023 年 5 月 13 日以降に作成された場合は、512e セクター サイズの Ultra Disks および Premium SSD v2 でのみサポートされています。
  • 現在または以前に Azure Disk Encryption が有効になっている仮想マシン (VM) または仮想マシン スケール セットでは有効にできません。
  • ホストでの暗号化が有効になっているディスクで Azure Disk Encryption を有効にすることはできません。
  • 暗号化は、既存の仮想マシン スケール セットで有効にすることができます。 しかし、暗号化を有効にした後に作成された新しい VM のみが自動的に暗号化されます。
  • 暗号化するには、既存の VM の割り当てを解除して再割り当てする必要があります。

リージョン別の提供状況

ホストでの暗号化は、すべてのディスクの種類についてすべてのリージョンで使用できます。

サポートされる VM のサイズ

サポートされている VM サイズの完全な一覧は、プログラムを使用してプルできます。 プログラムによってこれを取得する方法については、Azure PowerShell モジュールまたは Azure CLI の記事の「サポートされている VM のサイズを確認する」セクションを参照してください。

ホストで暗号化を使用してエンドツーエンドの暗号化を有効にするには、Azure PowerShell モジュールAzure CLI、または Azure portal のいずれかを使用して暗号化を有効にする方法について説明している記事を参照してください。

保存時の二重暗号化

特定の暗号化アルゴリズム、実装、または侵害されたキーに関連するリスクを懸念しているセキュリティを重視しているお客様が、プラットフォーム マネージド暗号化キーを使用した別の暗号化アルゴリズムおよびモードをインフラストラクチャ レイヤーで使用し、追加レイヤーでの暗号化を使用することを選択できるようになりました。 この新しいレイヤーは、二重暗号化を使用して保存時に暗号化される、永続化された OS およびデータ ディスク、スナップショット、イメージのすべてに適用できます。

制限

現在、保存時の二重暗号化は、Ultra Disks または Premium SSD v2 ディスクではサポートされていません。

サポートされているリージョン

マネージド ディスクが利用できるすべてのリージョンで二重暗号化が利用できます。

マネージド ディスクの保存時の二重暗号化を有効にするには、Azure PowerShell モジュールAzure CLI、または Azure portal のいずれかを使用して有効にする方法について説明している記事を参照してください。

サーバー側の暗号化と Azure ディスク暗号化の比較

Azure Disk Encryption では、Linux の DM-Crypt 機能または Windows の BitLocker 機能を利用して、マネージド ディスクをゲスト VM 内のカスタマー マネージド キーを使用して暗号化します。 カスタマー マネージド キーを使用したサーバー側の暗号化では、ストレージ サービス内のデータを暗号化することで、VM に対して任意の OS の種類とイメージを使用できるため、ADE がさらに向上します。

重要

カスタマー マネージド キーは、Microsoft Entra ID の 1 つの機能である、Azure リソース用マネージド ID に依存します。 カスタマー マネージド キーを構成すると、内部でマネージド ID がリソースに自動的に割り当てられます。 その後、サブスクリプション、リソース グループ、またはマネージド ディスクを 1 つの Microsoft Entra ディレクトリから別のディレクトリに移動した場合、そのマネージド ディスクに関連付けられているマネージド ID は新しいテナントに転送されないため、カスタマー マネージド キーが機能しなくなることがあります。 詳しくは、「Microsoft Entra ディレクトリ間のサブスクリプションの転送」を参照してください。

次のステップ