Important
Azure Disk Encryption は、 2028 年 9 月 15 日に廃止される予定です。 その日まで、中断することなく Azure Disk Encryption を引き続き使用できます。 2028 年 9 月 15 日に、ADE 対応ワークロードは引き続き実行されますが、暗号化されたディスクは VM の再起動後にロック解除に失敗し、サービスが中断されます。
新しい VM の ホストで暗号化 を使用するか、 コンフィデンシャル コンピューティング ワークロード用の OS ディスク暗号化を使用して機密 VM サイズ を検討します。 サービスの中断を回避するために、すべての ADE 対応 VM (バックアップを含む) を提供終了日より前にホストで暗号化に移行する必要があります。 詳細については、「 Azure Disk Encryption からホストでの暗号化への移行 」を参照してください。
適用対象: ✔️ Windows VM ✔️ フレキシブル スケール セット
Windows 仮想マシン (VM) 用の Azure Disk Encryption では、Windows の BitLocker 機能を使用して、OS ディスクとデータ ディスクの完全なディスク暗号化を提供します。 さらに、 VolumeType パラメーターが Allされると、一時ディスクが暗号化されます。
Azure Disk Encryption は、ディスクの暗号化キーとシークレットを制御および管理できるように、Azure Key Vault と統合されています。 サービスの概要については、「Azure Disk Encryption for Windows VMs」 (Windows VM 用の Azure Disk Encryption) を参照してください。
前提条件
ディスク暗号化は、 サポートされている VM サイズとオペレーティング システムの仮想マシンにのみ適用できます。 また、次の前提条件を満たす必要があります。
制限
以前に vm の暗号化にMicrosoft Entra IDでAzure Disk Encryptionを使用した場合は、引き続きこのオプションを使用して VM を暗号化します。 詳細については、「Microsoft Entra ID での Azure Disk Encryption (以前のリリース)」を参照してください。
ディスクを暗号化する前に 、スナップショット を作成するか、バックアップを作成します。 バックアップがあると、暗号化中に予期しないエラーが発生した場合に、回復オプションを使用できるようになります。 マネージド ディスクを含む VM では、暗号化する前にバックアップが必要になります。 バックアップを作成したら、Set-AzVMDiskEncryptionExtension cmdlet コマンドレットで -skipVmBackup パラメーターを指定して、マネージド ディスクを暗号化できます。 暗号化された VM のバックアップと復元方法の詳細については、「暗号化された Azure VM をバックアップおよび復元する」を参照してください。
暗号化または暗号化を無効にすると、VM が再起動する可能性があります。
Azure Disk Encryptionは、次のシナリオ、機能、テクノロジでは機能しません。
- Basic レベルの VM または従来の VM の作成方法を使用して作成された VM を暗号化する。
- 一時ディスクを使用した v6 シリーズ VM の暗号化 (Ddsv6、Dldsv6、Edsv6、Dadsv6、Daldsv6、Eadsv6、Dpdsv6、Dpldsv6、Epdsv6、Endsv6)。 詳細については、Azureの仮想マシンのサイズに関するページに記載されている各 VM サイズの個々のページを参照してください。
- V7 シリーズ以降の VM サイズの暗号化。
- NTFS の要求など、BitLocker のすべての要件と制限。 詳細については、「BitLocker の概要」をご覧ください。
- ソフトウェア ベースの RAID システムを使用して構成されている VM を暗号化する。
- 記憶域スペース ダイレクト (S2D) で構成された VM、または Windows 記憶域スペースで構成された 2016 より前のバージョンの Windows Server を暗号化する。
- オンプレミスのキー管理システムとの統合。
- Azure Files (共有ファイル システム)。
- ネットワーク ファイル システム (NFS)。
- 動的ボリューム。
- Windows Server コンテナー。これにより、コンテナーごとに動的ボリュームが作成されます。
- エフェメラル OS ディスク。
- iSCSI ディスク。
- DFS、GFS、DRDB、CephFS を含む (ただし、これだけではありません) 共有/分散ファイル システムの暗号化。
- 暗号化された VM を別のサブスクリプションまたはリージョンに移動する。
- 暗号化された VM のイメージまたはスナップショットを作成し、それを使用してより多くの VM をデプロイする。
- "L" ファミリ ストレージ最適化 VM サイズ シリーズ
- 書き込みアクセラレータ ディスクを備えた M シリーズの VM。
- ホストまたはサーバー側の 暗号化で 暗号化されたディスクがカスタマー マネージド キー (SSE + CMK) を 使用して暗号化 された VM に ADE を適用する。 SSE + CMK をデータ ディスクに適用すること、または SSE + CMK が構成されたデータ ディスクを ADE で暗号化された VM に追加することも、サポートされていないシナリオです。
- ADE で暗号化されている VM、または ADE で 暗号化された VM を、カスタマー マネージド キーを使用した ホスト 側または サーバー側の暗号化での暗号化に移行する。
- フェールオーバー クラスター内の VM を暗号化する。
- Azure Ultra Disks の暗号化。
- Premium SSD v2 ディスクの暗号化。
-
Secrets should have the specified maximum validity periodで ポリシーが有効になっているサブスクリプション内の VM の暗号化。 -
Key Vault secrets should have an expiration dateで ポリシーが有効になっているサブスクリプション内の VM の暗号化。
ツールをインストールし、Azure に接続する
Azure CLIとAzure PowerShellを使用して、Azure Disk Encryptionを有効にして管理できます。 これを行うには、ツールをローカルにインストールし、Azure サブスクリプションに接続します。
Azure CLI
Azure CLI 2.0 は、Azure リソースを管理するためのコマンドライン ツールです。 CLI は、データのクエリを柔軟に実行し、長時間実行される操作を非ブロッキング プロセスとしてサポートし、スクリプトが簡単になるように設計されています。 「Azure CLI のインストール」の手順に従って、これをローカルにインストールすることができます。
Azure CLIを使用してAzure アカウントにサインインするには、az login コマンドを使用します。
az login
サインイン先のテナントを選択するには:
az login --tenant <tenant>
複数のサブスクリプションのいずれかを指定するには、 az account list を使用してサブスクリプション リストを取得し、 az account set を使用してサブスクリプションを指定します。
az account list
az account set --subscription "<subscription name or ID>"
詳細については、Azure CLI の使用開始を参照してください。
Azure PowerShell
Azure PowerShell Az モジュールには、Azure リソースを管理するためにAzure Resource Manager モデルを使用する一連のコマンドレットが用意されています。 Azure Cloud Shellを使用してブラウザーで使用することも、「Azure PowerShell モジュールをインストールする」の手順に従ってローカル コンピューターにインストールすることもできます。
既にローカルにインストールされている場合は、最新のAzure PowerShell バージョンを使用してAzure Disk Encryptionを構成します。 Azure PowerShellリリースから最新バージョンをダウンロードします。
Azure PowerShellを使用してAzure アカウントにサインインするには、Connect-AzAccount コマンドレットを使用します。
Connect-AzAccount
複数のサブスクリプションのいずれかを指定するには、 Get-AzSubscription コマンドレットを使用して一覧表示し、その後に Set-AzContext コマンドレットを指定します。
Set-AzContext -Subscription <SubscriptionId>
Get-AzContext コマンドレットを実行して、正しいサブスクリプションが選択されていることを確認します。
Azure Disk Encryption コマンドレットがインストールされていることを確認するには、Get-Command コマンドレットを使用します。
Get-Command *diskencryption*
詳細については、「Azure PowerShell の使用に関するページ」を参照してください。
既存または実行中の Windows VM に対して暗号化を有効にする
このシナリオでは、Resource Manager テンプレート、PowerShell コマンドレット、または CLI コマンドを使用して、暗号化を有効にすることができます。 仮想マシンを拡張するためのスキーマの情報が必要な場合は、Windows 用 Azure Disk Encryption 拡張機能に関する記事を参照してください。
Azure PowerShellを使用して既存または実行中の VM で暗号化を有効にする
Set-AzVMDiskEncryptionExtension コマンドレットを使用して、Azure で実行中の IaaS 仮想マシンで暗号化を有効にします。
実行中の VM を暗号化します。 次のスクリプトは、変数を初期化し、Set-AzVMDiskEncryptionExtension コマンドレットを実行します。 リソース グループ、VM、およびキー コンテナーは、前提条件として既に存在している必要があります。 MyKeyVaultResourceGroup、MyVirtualMachineResourceGroup、MySecureVM、MySecureVault を実際の値に置き換えます。
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MySecureVM'; $KeyVaultName = 'MySecureVault'; $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname; $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri; $KeyVaultResourceId = $KeyVault.ResourceId; Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId;KEK を使用して実行中の VM を暗号化する:
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MyExtraSecureVM'; $KeyVaultName = 'MySecureVault'; $keyEncryptionKeyName = 'MyKeyEncryptionKey'; $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname; $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri; $KeyVaultResourceId = $KeyVault.ResourceId; $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid; Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId;注記
disk-encryption-keyvault パラメーターの値は、次のように、完全な識別子文字列の形式で表されます: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
key-encryption-key パラメーターの値は KEK の完全な URI であり、次の形式で表されます: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]ディスクが暗号化されていることを確認する: IaaS VM の暗号化の状態を確認するには、Get-AzVmDiskEncryptionStatus コマンドレットを使用します。
Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
暗号化を無効にするには、「暗号化を無効にし、暗号化拡張機能を削除する」を参照してください。
Azure CLIを使用して既存または実行中の VM で暗号化を有効にする
az vm encryption enable コマンドを使用して、Azure で実行中の IaaS 仮想マシンで暗号化を有効にします。
実行中の VM を暗号化する:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]KEK を使用して実行中の VM を暗号化する:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]注記
disk-encryption-keyvault パラメーターの値は、次のように、完全な識別子文字列の形式で表されます: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
key-encryption-key パラメーターの値は KEK の完全な URI であり、次の形式で表されます: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]ディスクが暗号化されていることを確認する: IaaS VM の暗号化の状態を確認するには、az vm encryption show コマンドを使用します。
az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
暗号化を無効にするには、「暗号化を無効にし、暗号化拡張機能を削除する」を参照してください。
Resource Manager テンプレートを使用する
実行中の Windows VM を暗号化するための Resource Manager テンプレートを使用して、Azure で既存または実行中の IaaS Windows VM に対してディスク暗号化を有効にすることができます。
Azureクイック スタート テンプレートで、[Deploy to Azure] を選択します。
サブスクリプション、リソース グループ、場所、設定、法律条項、および契約を選択します。 既存または実行中の IaaS VM で暗号化を有効にするには、[ 購入 ] を選択します。
次の表は、既存または実行中の VM に対する、Resource Manager テンプレートのパラメーターをまとめたものです。
| パラメーター | 説明 |
|---|---|
| vmName | 暗号化操作を実行する VM の名前。 |
| keyVaultName | BitLocker キーのアップロード先となる Key Vault の名前。 コマンドレット (Get-AzKeyVault -ResourceGroupName <MyKeyVaultResourceGroupName>). Vaultname または Azure CLI コマンド az keyvault list --resource-group "MyKeyVaultResourceGroup" を使用して取得できます。 |
| keyVaultResourceGroup | キー コンテナーが含まれているリソース グループの名前 |
| 暗号化キーURL (KeyEncryption) | キー暗号化キーの URL (形式は https://<keyvault-name>.vault.azure.net/key/<key-name>)。 KEK を使用しない場合は、このフィールドを空白のままにします。 |
| ボリュームタイプ | 暗号化操作が実行されるボリュームの種類。 有効な値は OS、Data、および All です。 |
| フォースアップデートタグ | 操作が強制実行である必要があるたびに、GUID のような一意の値を渡します。 |
| OSディスクサイズ変更 | OS パーティションは、システム ボリュームを分割する前に、完全な OS VHD が占有できるようにサイズ変更する必要があります。 |
| 位置 | すべてのリソースの場所。 |
お客様が暗号化した VHD と暗号化キーから作成された新しい IaaS VM
このシナリオでは、PowerShell コマンドレットまたは CLI コマンドを使用して、事前に暗号化された VHD と関連する暗号化キーから新しい VM を作成できます。
「Prepare a pre-encrypted Windows VHD」 (事前に暗号化された Windows VHD を準備する) に記載の手順を使用します。 イメージを作成したら、次のセクションの手順に従って、暗号化された Azure VM を作成できます。
Azure PowerShellを使用して事前に暗号化された VHD で VM を暗号化する
PowerShell コマンドレット Set-AzVMOSDisk を使用して、暗号化された VHD でディスク暗号化を有効にすることができます。 次の例では、一般的ないくつかのパラメーターを示します。
$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Windows -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myKVresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"
新しく追加されたデータ ディスクで暗号化を有効にする
PowerShell を使用するか、Azure ポータルを使用して、Windows VM に新しいディスクを追加できます。
注記
新しく追加されたデータ ディスク暗号化は、PowerShell または CLI でのみ有効にする必要があります。 現在、Azure ポータルでは、新しいディスクでの暗号化の有効化はサポートされていません。
Azure PowerShellを使用して新しく追加されたディスクで暗号化を有効にする
PowerShell を使用してWindows VM の新しいディスクを暗号化する場合は、新しいシーケンス バージョンを指定します。 シーケンスのバージョンは一意である必要があります。 次のスクリプトでは、シーケンス バージョン用の GUID が生成されます。 場合によっては、Azure Disk Encryption 拡張機能により、新しく追加されたデータ ディスクが自動的に暗号化される可能性があります。 自動暗号化は、通常、新しいディスクがオンラインになった後に VM が再起動したときに発生します。 通常、この動作は、ディスク暗号化が VM で実行されたときにボリュームの種類に "All" が指定されたために発生します。 新しく追加されたデータ ディスクで自動暗号化が行われる場合は、新しいシーケンス バージョンで Set-AzVmDiskEncryptionExtension コマンドレットをもう一度実行することをお勧めします。 新しいデータ ディスクが自動的に暗号化され、暗号化したくない場合は、まずすべてのドライブを暗号化解除してから、ボリュームの種類に OS を指定する新しいシーケンス バージョンで再暗号化します。
実行中の VM を暗号化します。 次のスクリプトは、変数を初期化し、Set-AzVMDiskEncryptionExtension コマンドレットを実行します。 リソース グループ、VM、およびキー コンテナーは、前提条件として既に存在している必要があります。 MyKeyVaultResourceGroup、MyVirtualMachineResourceGroup、MySecureVM、MySecureVault を実際の値に置き換えます。 次の例では、OS ボリュームとデータ ボリュームの両方を含む -VolumeType パラメーターに "All" を使用します。 OS ボリュームのみを暗号化する場合は、-VolumeType パラメーターに "OS" を使用します。
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MySecureVM'; $KeyVaultName = 'MySecureVault'; $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname; $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri; $KeyVaultResourceId = $KeyVault.ResourceId; $sequenceVersion = [Guid]::NewGuid(); Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType "All" –SequenceVersion $sequenceVersion;KEK を使用して実行中の VM を暗号化する: 次の例では、OS ボリュームとデータ ボリュームの両方を含む -VolumeType パラメーターに "All" を使用します。 OS ボリュームのみを暗号化する場合は、-VolumeType パラメーターに "OS" を使用します。
$KVRGname = 'MyKeyVaultResourceGroup'; $VMRGName = 'MyVirtualMachineResourceGroup'; $vmName = 'MyExtraSecureVM'; $KeyVaultName = 'MySecureVault'; $keyEncryptionKeyName = 'MyKeyEncryptionKey'; $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname; $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri; $KeyVaultResourceId = $KeyVault.ResourceId; $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid; $sequenceVersion = [Guid]::NewGuid(); Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType "All" –SequenceVersion $sequenceVersion;注記
disk-encryption-keyvault パラメーターの値は、次のように、完全な識別子文字列の形式で表されます: /subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
key-encryption-key パラメーターの値は KEK の完全な URI であり、次の形式で表されます: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
Azure CLIを使用して新しく追加されたディスクで暗号化を有効にする
Azure CLI コマンドは、暗号化を有効にするコマンドを実行すると、自動的に新しいシーケンス バージョンを提供します。 この例では、"All" が volume-type パラメーターに使用されています。 OS ディスクのみを暗号化する場合は、ボリュームの種類のパラメーターを OS に変更する必要がある場合があります。 PowerShell 構文とは異なり、CLI では、暗号化を有効にするときに一意のシーケンス バージョンを提供する必要はありません。 CLI では独自の一意のシーケンス バージョン値が自動的に生成され、使用されます。
実行中の VM を暗号化する:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --volume-type "All"KEK を使用して実行中の VM を暗号化する:
az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --disk-encryption-keyvault "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "All"
暗号化を無効にし、暗号化拡張機能を削除する
Azure Disk Encryption拡張機能を無効にすることも、Azure Disk Encryption拡張機能を削除することもできます。 これらの操作は異なります。
ADE を削除するには、最初に暗号化を無効にしてから、拡張機能を削除します。 暗号化拡張機能を無効にせずに削除しても、ディスクは引き続き暗号化されます。 拡張機能を削除 した後 に暗号化を無効にした場合、拡張機能は再インストールされ (復号化操作を実行するため)、もう一度削除する必要があります。
暗号化を無効にする
暗号化を無効にするには、Azure PowerShell、Azure CLI、またはResource Manager テンプレートを使用します。 暗号化を無効にしても、拡張機能は削除されません (「暗号化拡張機能を削除する」を参照してください)。
警告
OS ディスクとデータ ディスクの両方が暗号化されている場合にデータ ディスクの暗号化を無効にすると、予期しない結果が発生する可能性があります。 代わりに、すべてのディスクで暗号化を無効にしてください。
暗号化を無効にすると、BitLocker のバックグラウンド プロセスが開始され、ディスクの暗号化が解除されます。 暗号化を再度有効にする前に、このプロセスを完了するのに十分な時間を与えます。
Azure PowerShellを使用してディスク暗号化を無効にする: 暗号化を無効にするには、Disable-AzVMDiskEncryption コマンドレットを使用します。
Disable-AzVMDiskEncryption -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM" -VolumeType "all"Azure CLIを使用して暗号化を無効にする: 暗号化を無効にするには、az vm encryption disable コマンドを使用します。
az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type "all"Resource Manager テンプレートを使用して暗号化を無効にします。
- WINDOWS VM テンプレートの実行中にディスク暗号化を無効にする] から [Azureにデプロイ] を選択します。
- サブスクリプション、リソース グループ、場所、VM、ボリュームの種類、法律条項、および契約を選択します。
- [購入] をクリックして、実行中の Windows VM でディスク暗号化を無効にします。
暗号化拡張機能を削除する
ディスクの暗号化を解除して暗号化拡張機能を削除する場合は、拡張機能を削除する 前に 暗号化を無効にします。 詳細については、「暗号化を 無効にする」を参照してください。
暗号化拡張機能は、Azure PowerShellまたはAzure CLIを使用して削除できます。
Azure PowerShellを使用してディスク暗号化を無効にする: 暗号化を削除するには、Remove-AzVMDiskEncryptionExtension コマンドレットを使用します。
Remove-AzVMDiskEncryptionExtension -ResourceGroupName "MyVirtualMachineResourceGroup" -VMName "MySecureVM"Azure CLIを使用して暗号化を無効にする: 暗号化を削除するには、az vm extension delete コマンドを使用します。
az vm extension delete -g "MyVirtualMachineResourceGroup" --vm-name "MySecureVM" -n "AzureDiskEncryption"