Шифрование дисков Azure с идентификатором Microsoft Entra для виртуальных машин Windows (предыдущий выпуск)

Область применения: ✔️ Виртуальные машины Windows

Новый выпуск Шифрование дисков Azure устраняет требование для предоставления параметра приложения Microsoft Entra для включения шифрования дисков виртуальной машины. В новом выпуске вы больше не обязаны предоставлять учетные данные Microsoft Entra во время включения шифрования. Все новые виртуальные машины должны быть зашифрованы без параметров приложения Microsoft Entra с помощью нового выпуска. Инструкции по включению шифрования дисков виртуальных машин при использовании нового выпуска см. в статье Включение шифрования дисков Azure для виртуальных машин IaaS под управлением Windows. Виртуальные машины, которые уже зашифрованы с параметрами приложения Microsoft Entra, по-прежнему поддерживаются и должны продолжать поддерживаться с помощью синтаксиса Microsoft Entra.

Возможно несколько сценариев включения шифрования дисков, и последовательность действий для каждого может отличаться. В следующих разделах сценарии для виртуальных машин IaaS под управлением Windows описаны более подробно. Чтобы использовать шифрование дисков Azure, нужно выполнить эти предварительные требования.

Важно!

  • Перед шифрованием дисков необходимо сделать моментальный снимок и (или) создать резервную копию. Резервные копии обеспечивают возможность восстановления в случае любого непредвиденного сбоя во время шифрования. Для виртуальных машин с управляемыми дисками необходимо создать резервную копию до начала шифрования. После создания резервной копии можно зашифровать управляемые диски с помощью командлета Set-AzVMDiskEncryptionExtension с параметром -skipVmBackup. Дополнительные сведения о резервном копировании и восстановлении зашифрованных виртуальных машин см. в статье Резервное копирование и восстановление зашифрованной виртуальной машины Azure.

  • Шифрование или отключение шифрования может привести к перезагрузке виртуальной машины.

Включение шифрования в новых виртуальных машинах IaaS, созданных с помощью Marketplace

Включить шифрование дисков на новой виртуальной машине IaaS под управлением Windows, созданной из образа Marketplace в Azure, можно с помощью шаблона Resource Manager. Этот шаблон создает зашифрованную виртуальную машину Windows на основе образа из коллекции Windows Server 2012.

  1. На странице шаблона Azure Resource Manager нажмите кнопку Deploy to Azure (Развернуть в Azure).

  2. Выберите подписку, группу ресурсов, расположение группы ресурсов, параметры, условия использования и соглашение. Нажмите кнопку Покупка, чтобы развернуть новую виртуальную машину IaaS с включенным шифрованием.

  3. После развертывания шаблона проверьте состояние шифрования виртуальной машины предпочитаемым способом.

    • Проверьте состояние с помощью 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'
      
    • Выберите виртуальную машину, а затем щелкните Диски под заголовком Параметры, чтобы проверить состояние шифрования на портале. На диаграмме в разделе Шифрование вы увидите, включено ли оно. Azure portal - Disk Encryption Enabled

В следующей таблице перечислены параметры шаблона Resource Manager для новых виртуальных машин из сценария Marketplace с помощью идентификатора клиента Microsoft Entra:

Параметр Описание
adminUserName Имя пользователя администратора виртуальной машины.
adminPassword Пароль администратора виртуальной машины.
newStorageAccountName Имя учетной записи хранения, в которой будут размещены виртуальные жесткие диски операционной системы и данных.
vmSize Размер виртуальной машины. Сейчас поддерживаются только серии A, D и G уровня "Стандартный".
virtualNetworkName Имя виртуальной сети, которой будет принадлежать сетевая карта виртуальной машины.
subnetName Имя подсети виртуальной сети, которой будет принадлежать сетевая карта виртуальной машины.
AADClientID Идентификатор клиента приложения Microsoft Entra, имеющего разрешения на запись секретов в хранилище ключей.
AADClientSecret Секрет клиента приложения Microsoft Entra с разрешениями на запись секретов в хранилище ключей.
keyVaultURL URL-адрес хранилища ключей, в которое будет передан ключ BitLocker. Его можно получить с помощью командлета (Get-AzKeyVault -VaultName "MyKeyVault" -ResourceGroupName "MyKeyVaultResourceGroupName").VaultURI или команды Azure CLI az keyvault show --name "MySecureVault" --query properties.vaultUri.
keyEncryptionKeyURL URL-адрес ключа шифрования ключей, который используется для шифрования созданного ключа BitLocker (необязательно).

KeyEncryptionKeyURL является необязательным параметром. Вы можете добавить собственный ключ шифрования ключей, чтобы дополнительно защитить ключ шифрования данных (секрет в виде парольной фразы) в своем хранилище ключей.
keyVaultResourceGroup Группа ресурсов хранилища ключей.
vmName Имя виртуальной машины, для которой будет выполняться шифрование.

Включение шифрования на существующих или работающих виртуальных машинах IaaS Windows

В этом сценарии шифрование можно включить с помощью шаблона, командлетов PowerShell или команд интерфейса командной строки. В следующих разделах более подробно описано, как включить шифрование дисков Azure.

Включение шифрования на существующих или работающих виртуальных машинах с помощью Azure PowerShell

Используйте командлет Set-AzVMDiskEncryptionExtension, чтобы включить шифрование на работающей виртуальной машине IaaS в Azure. Сведения о включении шифрования дисков Azure с помощью командлетов PowerShell см. в статьях Explore Azure Disk Encryption with Azure Powershell (Изучение возможностей шифрования дисков Azure с помощью PowerShell) и Explore Azure Disk Encryption with Azure PowerShell – Part 2 (Изучение возможностей шифрования дисков Azure с помощью PowerShell. Часть 2).

  • Шифрование работающей виртуальной машины с использованием секрета клиента. Приведенный ниже сценарий инициализирует переменные и запускает командлет Set-AzVMDiskEncryptionExtension. Группа ресурсов, виртуальная машина, хранилище ключей, приложение Microsoft Entra и секрет клиента уже должны быть созданы в качестве предварительных требований. Замените MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID и My-AAD-client-secret своими значениями.

     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadClientID = '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 -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId;
    
  • Шифрование работающей виртуальной машины с применением ключа шифрования ключей для упаковки секрета клиента. Шифрование дисков Azure позволяет указать существующий ключ из хранилища ключей для упаковки секретов шифрования диска, которые были сгенерированы при включении шифрования. Когда ключ шифрования ключей указан, шифрование дисков Azure использует его для упаковки секретов шифрования перед записью в Key Vault.

    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadClientID = '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 -AadClientID $aadClientID -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 — это полный URI к KEK, как в следующем примере: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Проверка того, зашифрованы ли диски. Чтобы проверить состояние шифрования виртуальной машины IaaS, используйте командлет Get-AzVmDiskEncryptionStatus.

    Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    
  • Отключение шифрования дисков. Для отключения шифрования используйте командлет Disable-AzureRmVMDiskEncryption.

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

Включение шифрования на существующих или работающих виртуальных машинах с помощью Azure CLI

Используйте команду az vm encryption enable, чтобы включить шифрование на работающей виртуальной машине IaaS в Azure.

  • Шифрование работающей виртуальной машины с использованием секрета клиента:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • Шифрование работающей виртуальной машины с применением ключа шифрования ключей для упаковки секрета клиента:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --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 — это полный URI к KEK, как в следующем примере: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

  • Проверка того, что диски зашифрованы. Чтобы проверить состояние шифрования виртуальной машины IaaS, используйте команду 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

Включить шифрование дисков на существующих или работающих виртуальных машинах IaaS под управлением Windows в Azure можно с помощью этого шаблона Resource Manager.

  1. На странице шаблона быстрого запуска Azure нажмите кнопку Deploy to Azure (Развернуть в Azure).

  2. Выберите подписку, группу ресурсов, расположение группы ресурсов, параметры, условия использования и соглашение. Нажмите кнопку Покупка, чтобы включить шифрование на существующей или работающей виртуальной машине IaaS.

В следующей таблице перечислены параметры шаблона Resource Manager для существующих или работающих виртуальных машин, использующих идентификатор клиента Microsoft Entra:

Параметр Описание
AADClientID Идентификатор клиента приложения Microsoft Entra, имеющего разрешения на запись секретов в хранилище ключей.
AADClientSecret Секрет клиента приложения Microsoft Entra с разрешениями на запись секретов в хранилище ключей.
keyVaultName Имя хранилища ключей, в которое будет передан ключ BitLocker. Его можно получить с помощью командлета (Get-AzKeyVault -ResourceGroupName <MyKeyVaultResourceGroupName>). Vaultname или команды Azure CLI az keyvault list --resource-group "MySecureGroup".
keyEncryptionKeyURL URL-адрес ключа шифрования ключей, который используется для шифрования созданного ключа BitLocker. Это необязательный параметр, если выбрать nokek из раскрывающегося списка UseExistingKek. Если из раскрывающегося списка UseExistingKek выбрано значение kek, то потребуется ввести значение keyEncryptionKeyURL.
volumeType Тип тома, для которого будет выполняться шифрование. Допустимые значения: OS, Data и All.
sequenceVersion Версия последовательности операций с BitLocker. Этот номер версии увеличивается каждый раз, когда шифрование диска выполняется на той же виртуальной машине.
vmName Имя виртуальной машины, для которой будет выполняться шифрование.

Новые виртуальные машины IaaS, при создании которых используются зашифрованные виртуальные жесткие диски и ключи шифрования

В этом сценарии шифрование можно включить с помощью шаблона Resource Manager, командлетов PowerShell или команд интерфейса командной строки. В следующих разделах более подробно описаны шаблон Resource Manager и команды интерфейса командной строки.

Следуйте инструкциям, приведенным в приложении к этой статье, чтобы подготовить предварительно зашифрованные образы, которые можно использовать в Azure. После создания образа выполните действия, описанные в следующем разделе, чтобы создать зашифрованную виртуальную машину Azure.

Шифрование виртуальных машин с предварительно зашифрованными виртуальными жесткими дисками с помощью Azure PowerShell

Можно включить шифрование дисков для зашифрованного виртуального жесткого диска с помощью командлета PowerShell Set-AzVMOSDisk. Приведенный ниже пример имеет некоторые общие параметры.

$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"

Включение шифрования на добавленном диске данных

Добавить новый диск на виртуальную машину Windows можно с помощью PowerShell или портала Azure.

Включение шифрования на добавленном диске данных с помощью Azure PowerShell

При использовании Powershell для шифрования нового диска на виртуальных машинах Windows необходимо указать новую версию последовательности. Версия последовательности должна быть уникальной. Приведенный ниже сценарий создает GUID для версии последовательности. В некоторых случаях новый добавленный диск данных может быть зашифрован автоматически с помощью расширения шифрования дисков Azure. Автоматическое шифрование обычно происходит, когда виртуальная машина перезапускается после включения нового диска. Обычно это происходит, так как для типа тома указано значение "Все", если ранее на виртуальной машине использовалось шифрование дисков. Если выполняется шифрование на новом диске данных, рекомендуется снова выполнить командлет Set-AzVmDiskEncryptionExtension с новой версией последовательности. Если для нового диска данных включено автоматическое шифрование и вы хотите отказаться от шифрования, сначала расшифруйте все диски, а затем повторите шифрование с новой версией последовательности, указав соответствующую операционную систему для типа тома.

  • Шифрование работающей виртуальной машины с использованием секрета клиента. Приведенный ниже сценарий инициализирует переменные и запускает командлет Set-AzVMDiskEncryptionExtension. Группа ресурсов, виртуальная машина, хранилище ключей, приложение Microsoft Entra и секрет клиента уже должны быть созданы в качестве предварительных требований. Замените MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID и My-AAD-client-secret своими значениями. В этом примере в качестве значения параметра VolumeType используется значение "All", что включает тома операционной системы и тома данных. Если требуется шифрование только томов операционной системы, используйте "OS" в качестве значения параметра VolumeType.

     $sequenceVersion = [Guid]::NewGuid();
     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadClientID = '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 -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'all' –SequenceVersion $sequenceVersion;
    
  • Шифрование работающей виртуальной машины с применением ключа шифрования ключей для упаковки секрета клиента. Шифрование дисков Azure позволяет указать существующий ключ из хранилища ключей для упаковки секретов шифрования диска, которые были сгенерированы при включении шифрования. Когда ключ шифрования ключей указан, шифрование дисков Azure использует его для упаковки секретов шифрования перед записью в Key Vault. В этом примере в качестве значения параметра VolumeType используется значение "All", что включает тома операционной системы и тома данных. Если требуется шифрование только томов операционной системы, используйте "OS" в качестве значения параметра VolumeType.

    $sequenceVersion = [Guid]::NewGuid();
    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadClientID = '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 -AadClientID $aadClientID -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 — это полный URI к KEK, как в следующем примере: https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]

Включение шифрования на добавленном диске данных с помощью интерфейса командной строки Azure

Команда Azure CLI автоматически предоставит вам новую версию последовательности, когда вы запустите команду для включения шифрования. Допустимые значения параметра volume-type: "All", "OS" и "Data" ("Все", "ОС" и "Данные"). Может потребоваться изменить значения параметра volume-type на"OS" или "Data", если необходимо выполнить шифрование только одного типа диска виртуальной машины. В примерах используется "All" для параметра volume-type.

  • Шифрование работающей виртуальной машины с использованием секрета клиента:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "All"
    
  • Шифрование работающей виртуальной машины с применением ключа шифрования ключей для упаковки секрета клиента:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --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.

Аутентификацию на основе сертификата клиента можно использовать с ключом шифрования ключей или без него. Прежде чем использовать сценарии PowerShell, необходимо отправить сертификат в хранилище ключей и развернуть его на виртуальной машине. Если вы планируете использовать проверку подлинности с ключом шифрования ключей, он также уже должен существовать. Дополнительные сведения см. в разделе проверки подлинности на основе сертификатов для идентификатора Microsoft Entra ID статьи о предварительных требованиях.

Включение шифрования с использованием аутентификации на основе сертификата с помощью Azure PowerShell

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

$VMRGName = 'MyVirtualMachineResourceGroup'
$KVRGname = 'MyKeyVaultResourceGroup';
$AADClientID ='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 using the client certificate thumbprint

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -AadClientID $AADClientID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId

Включение шифрования с использованием проверки подлинности на основе сертификата и KEK с помощью Azure PowerShell

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

$VMRGName = 'MyVirtualMachineResourceGroup';
$KVRGname = 'MyKeyVaultResourceGroup';
$AADClientID ='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 using the client certificate thumbprint and a KEK

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -AadClientID $AADClientID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId

Отключение шифрования

Вы можете отключить шифрование с помощью Azure PowerShell, Azure CLI или шаблона Resource Manager.

  • Отключение шифрования дисков с помощью Azure PowerShell. Для отключения шифрования используйте командлет Disable-AzureRmVMDiskEncryption.

    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. Нажмите кнопку Deploy to Azure (Развернуть в Azure) на странице шаблона отключения шифрования дисков на виртуальной машине под управлением Windows.
    2. Выберите подписку, группу ресурсов, расположение, виртуальную машину, условия использования и соглашение.
    3. Нажмите кнопку покупка, чтобы отключить шифрование дисков на работающей виртуальной машине Windows.

Следующие шаги