Windows VM でMicrosoft Entra IDを使用してAzure Disk Encryptionを有効にする (以前のリリース)

重要

Azure Disk Encryption は、 2028 年 9 月 15 日に廃止される予定です。 その日まで、中断することなく Azure Disk Encryption を引き続き使用できます。 2028 年 9 月 15 日に、ADE 対応ワークロードは引き続き実行されますが、暗号化されたディスクは VM の再起動後にロック解除に失敗し、サービスが中断されます。

新しい VM の ホストで暗号化 を使用するか、 コンフィデンシャル コンピューティング ワークロード用の OS ディスク暗号化を使用して機密 VM サイズ を検討します。 サービスの中断を回避するために、すべての ADE 対応 VM (バックアップを含む) を提供終了日より前にホストで暗号化に移行する必要があります。 詳細については、「 Azure Disk Encryption からホストでの暗号化への移行 」を参照してください。

適用対象: ✔️ Windows VM

Azure Disk Encryption の新しいリリースでは、VM ディスク暗号化を有効にするために Microsoft Entra アプリケーション パラメーターを指定する必要はありません。 新しいリリースでは、暗号化の有効化手順中にMicrosoft Entra資格情報を指定する必要がなくなりました。 Microsoft Entra のアプリケーション パラメーターを使用せずに、新しいリリースを使用してすべての新しい VM を暗号化する。 新しいリリースを使用して VM ディスク暗号化を有効にする手順については、Windows VM のAzure Disk Encryptionに関する記事を参照してください。 Microsoft Entraアプリケーション パラメーターで既に暗号化されている VM は引き続きサポートされています。 Microsoft Entra構文を使用して、これらの VM を維持し続けます。 有効にできるディスク暗号化シナリオは多数あり、手順はシナリオによって異なる場合があります。 以下のセクションでは、Windows IaaS VM 用のシナリオについて詳しく説明します。 ディスク暗号化を使用する前に、Azure Disk Encryption の前提条件を満たす必要があります。

重要

  • ディスクを暗号化する前に 、スナップショット を作成するか、バックアップを作成します。 バックアップがあると、暗号化中に予期しないエラーが発生した場合に、回復オプションを使用できるようになります。 マネージド ディスクを含む VM では、暗号化する前にバックアップが必要になります。 バックアップを作成したら、Set-AzVMDiskEncryptionExtension cmdlet コマンドレットで -skipVmBackup パラメーターを指定して、マネージド ディスクを暗号化できます。 暗号化された VM のバックアップと復元方法の詳細については、「暗号化された Azure VM をバックアップおよび復元する」を参照してください。

  • 暗号化または暗号化を無効にすると、VM が再起動する可能性があります。

Marketplace から作成された新しい IaaS VM で暗号化を有効にする

Resource Manager テンプレートを使用して、Azureの Marketplace から新しい IaaS Windows VM でディスク暗号化を有効にすることができます。 テンプレートは、Windows Server 2012 ギャラリー イメージを使用して、新しい暗号化されたWindows VM を作成します。

  1. Resource Manager テンプレートで、[Deploy to Azure] を選択します。

  2. サブスクリプション、リソース グループ、リソース グループの場所、パラメーター、法律条項、契約を選択します。 [ 購入 ] を選択して、暗号化が有効になっている新しい IaaS VM をデプロイします。

  3. テンプレートをデプロイした後、推奨される方法を使用して VM 暗号化の状態を確認します。

    • Azure CLI で az vm encryption show コマンドを使用して確認します。

      az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
      
    • Azure PowerShell で Get-AzVmDiskEncryptionStatus コマンドレットを使用して確認します。

      Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
      
    • VM を選択し、[設定] 見出しの下にある [ディスク] を選択して、ポータルで暗号化の状態を確認します。 [暗号化] の下のグラフには、暗号化が有効かどうかが示されます。 Azure portal - ディスク暗号化が有効になっている状態

次の表に、Microsoft Entra クライアント ID を使用した Marketplace シナリオの新しい VM のResource Manager テンプレート パラメーターの一覧を示します。

パラメーター 説明
adminUserName 仮想マシンの管理者ユーザー名。
管理者パスワード 仮想マシンの管理者ユーザー パスワード。
newStorageAccountName OS とデータの VHD を格納するためのストレージ アカウントの名前。
vmSize VM のサイズ。 現時点では、Standard A、D、および G シリーズのみがサポートされています。
仮想ネットワーク名 VM NIC が属している必要がある VNet の名前。
サブネット名 VM NIC が属している必要がある VNet のサブネットの名前。
AAD クライアント ID キー コンテナーにシークレットを書き込むためのアクセス許可を持つ Microsoft Entra アプリケーションのクライアント ID。
AADClientSecret キー コンテナーにシークレットを書き込むアクセス許可を持つ Microsoft Entra アプリケーションのクライアント シークレット。
keyVaultURL BitLocker キーのアップロード先となる Key Vault の URL。 これは、コマンドレット (Get-AzKeyVault -VaultName "MyKeyVault" -ResourceGroupName "MyKeyVaultResourceGroupName").VaultURI または Azure CLI az keyvault show --name "MySecureVault" --query properties.vaultUri を使用して取得できます。
暗号化鍵URL (keyEncryptionKeyURL) 生成された BitLocker キーの暗号化に使用されるキー暗号化キーの URL (省略可能)。

KeyEncryptionKeyURL は省略可能なパラメーターです。 独自の KEK を使用して、Key Vault でデータ暗号化キー (パスフレーズ シークレット) の保護を強化することができます。
keyVaultResourceGroup Key Vault のリソース グループ。
vmName 暗号化操作が実行される VM の名前。

既存または実行中の IaaS Windows VM で暗号化を有効にする

このシナリオでは、テンプレート、PowerShell コマンドレット、または CLI コマンドを使用して、暗号化を有効にすることができます。 次のセクションでは、Azure Disk Encryption を有効にする方法を詳しく説明します。

Azure PowerShellを使用して既存または実行中の VM で暗号化を有効にする

Set-AzVMDiskEncryptionExtension コマンドレットを使用して、Azure で実行中の IaaS 仮想マシンで暗号化を有効にします。 Azure Disk Encryption での暗号化を PowerShell コマンドレットによって有効化する方法については、ブログ投稿「Explore Azure Disk Encryption with Azure PowerShell - Part 1」(Azure PowerShell を使用した Azure Disk Encryption の操作 - パート 1) および「Explore Azure Disk Encryption with Azure PowerShell - Part 2」(Azure PowerShell を使用した Azure Disk Encryption の操作 - パート 2) をご覧ください。

  • クライアント シークレットを使用して実行中の VM を暗号化する: 以下のスクリプトでは変数を初期化し、Set-AzVMDiskEncryptionExtension コマンドレットを実行します。 リソース グループ、VM、キー コンテナー、Microsoft Entra アプリ、クライアント シークレットが前提条件として既に存在している必要があります。 MyKeyVaultResourceGroup、MyVirtualMachineResourceGroup、MySecureVM、MySecureVault、My-AAD-client-ID、My-AAD-client-secret をそれぞれ実際の値に置き換えます。

     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadclient ID = 'My-AAD-client-ID';
     $aadClientSecret = 'My-AAD-client-secret';
     $KeyVaultName = 'MySecureVault';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId;
    
  • KEK を使用して実行中の VM を暗号化してクライアント シークレットをラップする: Azure Disk Encryptionキー コンテナー内の既存のキーを指定して、暗号化を有効にするときに生成されたディスク暗号化シークレットをラップできます。 キー暗号化キーが指定されている場合、Azure Disk Encryption では、Key Vault への書き込みの前に、そのキーを使用して暗号化シークレットがラップされます。

    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadclient ID = 'My-AAD-client-ID';
    $aadClientSecret = 'My-AAD-client-secret';
    $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 -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -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'
    
  • ディスク暗号化を無効にする: 暗号化を無効にするには、Disable-AzureRmVMDiskEncryption コマンドレットを使用します。

    Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    

Azure CLIを使用して既存または実行中の VM で暗号化を有効にする

az vm encryption enable コマンドを使用して、Azure で実行中の IaaS 仮想マシンで暗号化を有効にします。

  • クライアント シークレットを使用して実行中の VM を暗号化する:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • KEK を使用して実行中の VM を暗号化し、クライアント シークレットをラップします。

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --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"
    
  • 暗号化を無効にする: 暗号化を無効にするには、az vm encryption disable コマンドを使用します。

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    

Resource Manager テンプレートの使用

実行中の Windows VM を暗号化するための Resource Manager テンプレートを使用して、Azure で既存または実行中の IaaS Windows VM に対してディスク暗号化を有効にすることができます。

  1. Azureクイック スタート テンプレートで、[Deploy to Azure] を選択します。

  2. サブスクリプション、リソース グループ、リソース グループの場所、パラメーター、法律条項、契約を選択します。 既存または実行中の IaaS VM で暗号化を有効にするには、[ 購入 ] を選択します。

次の表は、Microsoft Entra クライアント ID を使う既存または実行中の VM に対する、Resource Manager テンプレートのパラメーターをまとめたものです。

パラメーター 説明
AAD クライアント ID キー コンテナーにシークレットを書き込むためのアクセス許可を持つ Microsoft Entra アプリケーションのクライアント ID。
AADClientSecret キー コンテナーにシークレットを書き込むアクセス許可を持つ Microsoft Entra アプリケーションのクライアント シークレット。
keyVaultName BitLocker キーのアップロード先となる Key Vault の名前。 コマンドレット (Get-AzKeyVault -ResourceGroupName <MyKeyVaultResourceGroupName>). Vaultname または Azure CLI コマンド az keyvault list --resource-group "MySecureGroup" を使用して取得できます。
暗号化鍵URL (keyEncryptionKeyURL) 生成された BitLocker キーの暗号化に使用されるキー暗号化キーの URL。 UseExistingKEK ドロップダウン リストで nokek を選択した場合、このパラメーターは省略可能です。 UseExistingKEK ドロップダウン リストで kek を選択した場合は、 keyEncryptionKeyURL 値を入力する必要があります。
ボリュームタイプ 暗号化操作が実行されるボリュームの種類。 有効な値は OSData、および All です。
シーケンスバージョン BitLocker 操作のシーケンス バージョン。 ディスク暗号化操作が同じ VM で実行されるたびに、このバージョン番号をインクリメントします。
vmName 暗号化操作が実行される VM の名前。

お客様が暗号化した VHD と暗号化キーから作成された新しい IaaS VM

このシナリオでは、Resource Manager テンプレート、PowerShell コマンドレット、または CLI コマンドを使用して、暗号化を有効にすることができます。 以下のセクションでは、Resource Manager テンプレートと CLI コマンドについて詳しく説明します。

付録の手順を使用して、Azureで使用できる事前に暗号化されたイメージを準備します。 イメージを作成したら、次のセクションの手順に従って、暗号化された 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 に新しいディスク追加できます。

Azure PowerShellを使用して新しく追加されたディスクで暗号化を有効にする

PowerShell を使用してWindows VM の新しいディスクを暗号化する場合は、新しいシーケンス バージョンを指定します。 シーケンスのバージョンは一意である必要があります。 次のスクリプトでは、シーケンス バージョン用の GUID が生成されます。 場合によっては、Azure Disk Encryption 拡張機能により、新しく追加されたデータ ディスクが自動的に暗号化される可能性があります。 自動暗号化は、通常、新しいディスクがオンラインになった後に VM が再起動したときに発生します。 通常、この動作は、ディスク暗号化が VM で実行されたときにボリュームの種類に "All" が指定されているために発生します。 新しく追加されたデータ ディスクで自動暗号化が行われる場合は、新しいシーケンス バージョンで Set-AzVmDiskEncryptionExtension コマンドレットをもう一度実行することをお勧めします。 新しいデータ ディスクが自動的に暗号化され、暗号化したくない場合は、まずすべてのドライブを暗号化解除してから、ボリュームの種類に OS を指定する新しいシーケンス バージョンで再暗号化します。

  • クライアント シークレットを使用して実行中の VM を暗号化する: 以下のスクリプトでは変数を初期化し、Set-AzVMDiskEncryptionExtension コマンドレットを実行します。 リソース グループ、VM、キー コンテナー、Microsoft Entra アプリ、クライアント シークレットが前提条件として既に存在している必要があります。 MyKeyVaultResourceGroup、MyVirtualMachineResourceGroup、MySecureVM、MySecureVault、My-AAD-client-ID、My-AAD-client-secret をそれぞれ実際の値に置き換えます。 次の例では、OS ボリュームとデータ ボリュームの両方を含む -VolumeType パラメーターに "All" を使用します。 OS ボリュームのみを暗号化する場合は、-VolumeType パラメーターに "OS" を使用します。

     $sequenceVersion = [Guid]::NewGuid();
     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadclient ID = 'My-AAD-client-ID';
     $aadClientSecret = 'My-AAD-client-secret';
     $KeyVaultName = 'MySecureVault';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'all' –SequenceVersion $sequenceVersion;
    
  • KEK を使用して実行中の VM を暗号化してクライアント シークレットをラップする: Azure Disk Encryptionキー コンテナー内の既存のキーを指定して、暗号化を有効にするときに生成されたディスク暗号化シークレットをラップできます。 キー暗号化キーが指定されている場合、Azure Disk Encryption では、Key Vault への書き込みの前に、そのキーを使用して暗号化シークレットがラップされます。 次の例では、OS ボリュームとデータ ボリュームの両方を含む -VolumeType パラメーターに "All" を使用します。 OS ボリュームのみを暗号化する場合は、-VolumeType パラメーターに "OS" を使用します。

    $sequenceVersion = [Guid]::NewGuid();
    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadclient ID = 'My-AAD-client-ID';
    $aadClientSecret = 'My-AAD-client-secret';
    $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 -Aadclient ID $aadclient ID -AadClientSecret $aadClientSecret -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、OS、Data です。 VM のディスクの種類を 1 つだけ暗号化する場合は、ボリュームの種類のパラメーターを OS またはデータに変更する必要がある場合があります。 この例では、"All" が volume-type パラメーターに使用されています。

  • クライアント シークレットを使用して実行中の VM を暗号化する:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "All"
    
  • KEK を使用して実行中の VM を暗号化し、クライアント シークレットをラップします。

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Microsoft Entra client ID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "all"
    

Microsoft Entraクライアント証明書ベースの認証を使用して暗号化を有効にします。

KEK の有無に関係なく、クライアント証明書認証を使用することができます。 PowerShell スクリプトを使用する前に、証明書をキー コンテナーにアップロードし、VM にデプロイします。 KEK も使用する場合は、KEK が既に存在している必要があります。 詳細については、前提条件に関する記事の Microsoft Entra の証明書ベースの認証に関するセクションをご覧ください。

Azure PowerShellを使用して証明書ベースの認証を使用して暗号化を有効にする

## Fill in 'MyVirtualMachineResourceGroup', 'MyKeyVaultResourceGroup', 'My-AAD-client-ID', 'MySecureVault, and 'MySecureVM'.

$VMRGName = 'MyVirtualMachineResourceGroup'
$KVRGname = 'MyKeyVaultResourceGroup';
$AADclient ID ='My-AAD-client-ID';
$KeyVaultName = 'MySecureVault';
$VMName = 'MySecureVM';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;

# Fill in the certificate path and the password so the thumbprint can be set as a variable.

$certPath = '$CertPath = "C:\certificates\mycert.pfx';
$CertPassword ='Password'
$Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
$aadClientCertThumbprint = $cert.Thumbprint;

# Enable disk encryption by using the client certificate thumbprint

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -Aadclient ID $AADclient ID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId

証明書ベースの認証と、Azure PowerShellを使用した KEK を使用して暗号化を有効にする

# Fill in 'MyVirtualMachineResourceGroup', 'MyKeyVaultResourceGroup', 'My-AAD-client-ID', 'MySecureVault,, 'MySecureVM', and "KEKName.

$VMRGName = 'MyVirtualMachineResourceGroup';
$KVRGname = 'MyKeyVaultResourceGroup';
$AADclient ID ='My-AAD-client-ID';
$KeyVaultName = 'MySecureVault';
$VMName = 'MySecureVM';
$keyEncryptionKeyName ='KEKName';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;
$keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;

## Fill in the certificate path and the password so the thumbprint can be read and set as a variable.

$certPath = '$CertPath = "C:\certificates\mycert.pfx';
$CertPassword ='Password'
$Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
$aadClientCertThumbprint = $cert.Thumbprint;

# Enable disk encryption by using the client certificate thumbprint and a KEK

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -Aadclient ID $AADclient ID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId

暗号化を無効にする

暗号化を無効にするには、Azure PowerShell、Azure CLI、またはResource Manager テンプレートを使用します。

  • Azure PowerShellを使用してディスク暗号化を無効にする: 暗号化を無効にするには、Disable-Azure RmVMDiskEncryption コマンドレットを使用します。

    Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    
  • Azure CLIを使用して暗号化を無効にする: 暗号化を無効にするには、az vm encryption disable コマンドを使用します。

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    
  • Resource Manager テンプレートを使用して暗号化を無効にする:

    1. WINDOWS VM テンプレートの実行中にディスク暗号化を無効にする] から [Azureにデプロイ] を選択します。
    2. サブスクリプション、リソース グループ、場所、VM、法律条項、および契約を選択します。
    3. [購入] をクリックして、実行中の Windows VM でディスク暗号化を無効にします。

次のステップ