Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Шифрование дисков Azure для виртуальных машин и масштабируемых наборов виртуальных машин будет прекращено 15 сентября 2028 г. Новые клиенты должны использовать шифрование на узле для всех новых виртуальных машин. Существующие клиенты должны планировать перенос текущих виртуальных машин с поддержкой ADE в шифрование на узле до даты выхода на пенсию, чтобы избежать нарушения работы службы. См. статью "Миграция из шифрования дисков Azure в шифрование на узле".
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
В этой статье описано, как проверить состояние шифрования виртуальной машины с помощью различных методов: портала Azure, PowerShell, Azure CLI или операционной системы виртуальной машины.
Вы можете проверить состояние шифрования во время или после шифрования, выполнив следующие действия.
- Проверка дисков, подключенных к определенной виртуальной машине.
- Запрос параметров шифрования на каждом диске, независимо от того, подключен ли диск или не подключен.
Этот сценарий применяется для двухпроходных и однопроходных расширений шифрования дисков Azure. Дистрибутивы Linux являются единственной средой для этого сценария.
Note
В этой статье используются переменные. Замените соответствующие значения.
Portal
На портале Azure в разделе "Расширения" выберите расширение шифрования дисков Azure в списке. Сведения о сообщении о состоянии указывают текущее состояние шифрования:
В списке расширений вы увидите соответствующую версию расширения шифрования дисков Azure. Версия 0.x соответствует двойному проходу шифрования дисков Azure, а версия 1.x соответствует одному проходу шифрования дисков Azure.
Дополнительные сведения можно получить, выбрав расширение, а затем выбрав "Просмотреть подробное состояние". Подробное состояние процесса шифрования отображается в формате JSON.
Другим способом проверки состояния шифрования является просмотр раздела параметров диска .
Note
Это состояние означает, что диски имеют метки параметров шифрования, а не то, что они были зашифрованы на уровне ОС.
По проектированию диски сначала маркируются и шифруются позже. Если процесс шифрования завершается сбоем, диски могут быть отпечатанными, но не зашифрованными.
Чтобы убедиться, что диски действительно зашифрованы, можно дважды проверить шифрование каждого диска на уровне ОС.
PowerShell
Вы можете проверить общее состояние шифрования зашифрованной виртуальной машины с помощью следующих команд PowerShell:
$VMNAME="VMNAME"
$RGNAME="RGNAME"
Get-AzVmDiskEncryptionStatus -ResourceGroupName ${RGNAME} -VMName ${VMNAME}
Параметры шифрования можно записать с каждого диска с помощью следующих команд PowerShell.
Один проход
В одном проходе параметры шифрования маркируются на каждом из дисков (ОС и данных). Параметры шифрования для диска ОС можно записать в одном проходе следующим образом:
$RGNAME = "RGNAME"
$VMNAME = "VMNAME"
$VM = Get-AzVM -Name ${VMNAME} -ResourceGroupName ${RGNAME}
$Sourcedisk = Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName $VM.StorageProfile.OsDisk.Name
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Enabled:" $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Version:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettingsVersion
Write-Host "Source Vault:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SourceVault.Id
Write-Host "Secret URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl
Write-Host "Key URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl
Write-Host "============================================================================================================================================================="
Если на диске нет меток параметров шифрования, выходные данные будут пустыми:
Используйте следующие команды для записи параметров шифрования для дисков данных:
$RGNAME = "RGNAME"
$VMNAME = "VMNAME"
$VM = Get-AzVM -Name ${VMNAME} -ResourceGroupName ${RGNAME}
clear
foreach ($i in $VM.StorageProfile.DataDisks|ForEach-Object{$_.Name})
{
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Checking Disk:" $i
$Disk=(Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName $i)
Write-Host "Encryption Enable: " $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Encryption KeyEncryptionKey: " $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl;
Write-Host "Encryption DiskEncryptionKey: " $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl;
Write-Host "============================================================================================================================================================="
}
Двойной проход
При двойном проходе параметры шифрования маркируются в модели виртуальной машины, а не на каждом отдельном диске.
Чтобы убедиться, что параметры шифрования были отпечатанны в двойном проходе, используйте следующие команды:
$RGNAME = "RGNAME"
$VMNAME = "VMNAME"
$vm = Get-AzVm -ResourceGroupName ${RGNAME} -Name ${VMNAME};
$Sourcedisk = Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName $VM.StorageProfile.OsDisk.Name
clear
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Enabled:" $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Version:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettingsVersion
Write-Host "Source Vault:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SourceVault.Id
Write-Host "Secret URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl
Write-Host "Key URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl
Write-Host "============================================================================================================================================================="
Неподключенные диски
Проверьте параметры шифрования дисков, которые не подключены к виртуальной машине.
Управляемые диски
$Sourcedisk = Get-AzDisk -ResourceGroupName ${RGNAME} -DiskName ${TARGETDISKNAME}
Write-Host "============================================================================================================================================================="
Write-Host "Encryption Settings:"
Write-Host "============================================================================================================================================================="
Write-Host "Enabled:" $Sourcedisk.EncryptionSettingsCollection.Enabled
Write-Host "Version:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettingsVersion
Write-Host "Source Vault:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SourceVault.Id
Write-Host "Secret URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.DiskEncryptionKey.SecretUrl
Write-Host "Key URL:" $Sourcedisk.EncryptionSettingsCollection.EncryptionSettings.KeyEncryptionKey.KeyUrl
Write-Host "============================================================================================================================================================="
Azure CLI
Вы можете проверить общее состояние шифрования зашифрованной виртуальной машины с помощью следующих команд Azure CLI:
VMNAME="VMNAME"
RGNAME="RGNAME"
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} --query "substatus"
Один проход
Параметры шифрования для каждого диска можно проверить с помощью следующих команд Azure CLI:
az vm encryption show -g ${RGNAME} -n ${VMNAME} --query "disks[*].[name, statuses[*].displayStatus]" -o table
Important
Если на диске нет меток параметров шифрования, вы увидите текст Диск не зашифрован.
Используйте следующие команды, чтобы получить подробные параметры состояния и шифрования.
Диск ОС:
RGNAME="RGNAME"
VMNAME="VNAME"
disk=`az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.osDisk.name -o tsv`
for disk in $disk; do \
echo "============================================================================================================================================================="
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${disk} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
done
Диски данных:
RGNAME="RGNAME"
VMNAME="VMNAME"
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} --query "substatus"
for disk in `az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.dataDisks[].name -o tsv`; do \
echo "============================================================================================================================================================="; \
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${disk} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
done
Двойной проход
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} -o table
Вы также можете проверить параметры шифрования в профиле хранилища модели виртуальной машины диска ОС:
disk=`az vm show -g ${RGNAME} -n ${VMNAME} --query storageProfile.osDisk.name -o tsv`
for disk in $disk; do \
echo "============================================================================================================================================================="; \
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${disk} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${disk} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
done
Неподключенные диски
Проверьте параметры шифрования дисков, которые не подключены к виртуальной машине.
Управляемые диски
RGNAME="RGNAME"
TARGETDISKNAME="DISKNAME"
echo "============================================================================================================================================================="
echo -ne "Disk Name: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query name -o tsv; \
echo -ne "Encryption Enabled: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.enabled -o tsv; \
echo -ne "Version: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettingsVersion -o tsv; \
echo -ne "Disk Encryption Key: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettings[].diskEncryptionKey.secretUrl -o tsv; \
echo -ne "key Encryption Key: "; az disk show -g ${RGNAME} -n ${TARGETDISKNAME} --query encryptionSettingsCollection.encryptionSettings[].keyEncryptionKey.keyUrl -o tsv; \
echo "============================================================================================================================================================="
Неуправляемые диски
Неуправляемые диски — это VHD-файлы, которые хранятся в виде объектов страницы в учетных записях хранения Azure.
Чтобы получить сведения для определенного диска, необходимо указать следующее:
- Идентификатор учетной записи хранения, содержащей диск.
- Строка подключения для конкретной учетной записи хранения.
- Имя контейнера, в который хранится диск.
- Имя диска.
Эта команда содержит все идентификаторы для всех учетных записей хранения:
az storage account list --query [].[id] -o tsv
Идентификаторы учетных записей хранения перечислены в следующей форме:
/subscriptions/<идентификатор подписки>/resourceGroups/<имя группы ресурсов>/providers/Microsoft.Storage/storageAccounts/<имя учетной записи хранения>
Выберите соответствующий идентификатор и сохраните его в переменной:
id="/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>"
Эта команда получает строку подключения для одной конкретной учетной записи хранения и сохраняет ее в переменной:
ConnectionString=$(az storage account show-connection-string --ids $id --query connectionString -o tsv)
Следующая команда содержит список всех контейнеров в учетной записи хранения:
az storage container list --connection-string $ConnectionString --query [].[name] -o tsv
Контейнер, используемый для дисков, обычно называется "vhds".
Сохраните имя контейнера в переменной:
ContainerName="name of the container"
Используйте эту команду для перечисления всех блобов в заданном контейнере.
az storage blob list -c ${ContainerName} --connection-string $ConnectionString --query [].[name] -o tsv
Выберите диск, который требуется запросить и сохранить его имя в переменной:
DiskName="diskname.vhd"
Запрос параметров шифрования диска:
az storage blob show -c ${ContainerName} --connection-string ${ConnectionString} -n ${DiskName} --query metadata.DiskEncryptionSettings
Операционная система
Проверьте, зашифрованы ли разделы диска данных (а диск ОС — нет).
При шифровании секции или диска он отображается как тип шифрования . Если он не зашифрован, он отображается как тип части или диска .
sudo lsblk
Дополнительные сведения можно получить с помощью следующего варианта lsblk .
Вы увидите слой типа шифрования, монтируемый расширением. В следующем примере показаны логические тома и обычные диски с crypto_LUKS FSTYPE.
sudo lsblk -o NAME,TYPE,FSTYPE,LABEL,SIZE,RO,MOUNTPOINT
В качестве дополнительного шага можно проверить, загружены ли на диск с данными какие-либо ключи:
sudo cryptsetup luksDump /dev/VGNAME/LVNAME
sudo cryptsetup luksDump /dev/sdd1
И вы можете проверить, какие устройства dm перечислены как crypt:
sudo dmsetup ls --target crypt