Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️
Zakresem tego artykułu jest zweryfikowanie stanu szyfrowania maszyny wirtualnej przy użyciu różnych metod: witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure lub systemu operacyjnego maszyny wirtualnej.
Stan szyfrowania można sprawdzić podczas lub po szyfrowaniu, wykonując następujące czynności:
- Sprawdzanie dysków dołączonych do określonej maszyny wirtualnej.
- Zapytanie o ustawienia szyfrowania na każdym dysku, niezależnie od tego, czy dysk jest dołączony, czy odłączony.
Ten scenariusz dotyczy rozszerzeń dwuprzepustowych i jednoprzepustowych usługi Azure Disk Encryption. Dystrybucje systemu Linux są jedynym środowiskiem dla tego scenariusza.
Uwaga
Używamy zmiennych w całym artykule. Zastąp wartości odpowiednio.
Portal
W witrynie Azure Portal w sekcji Rozszerzenia wybierz rozszerzenie Azure Disk Encryption na liście. Informacje o komunikacie o stanie wskazują bieżący stan szyfrowania:
Na liście rozszerzeń zobaczysz odpowiednią wersję rozszerzenia usługi Azure Disk Encryption. Wersja 0.x odpowiada podwójnemu przekazaniom usługi Azure Disk Encryption, a wersja 1.x odpowiada pojedynczemu przekazaniom usługi Azure Disk Encryption.
Aby uzyskać więcej szczegółów, wybierz rozszerzenie, a następnie wybierz pozycję Wyświetl szczegółowy stan. Szczegółowy stan procesu szyfrowania jest wyświetlany w formacie JSON.
Innym sposobem weryfikacji stanu szyfrowania jest zapoznanie się z sekcją Ustawienia dysku.
Uwaga
Ten stan oznacza, że dyski mają oznaczone ustawienia szyfrowania, a nie, że zostały one rzeczywiście zaszyfrowane na poziomie systemu operacyjnego.
Zgodnie z projektem dyski są najpierw oznaczane i szyfrowane później. Jeśli proces szyfrowania zakończy się niepowodzeniem, dyski mogą zostać oznaczone, ale nie są szyfrowane.
Aby sprawdzić, czy dyski są naprawdę zaszyfrowane, możesz dokładnie sprawdzić szyfrowanie każdego dysku na poziomie systemu operacyjnego.
PowerShell
Ogólny stan szyfrowania zaszyfrowanej maszyny wirtualnej można zweryfikować przy użyciu następujących poleceń programu PowerShell:
$VMNAME="VMNAME"
$RGNAME="RGNAME"
Get-AzVmDiskEncryptionStatus -ResourceGroupName ${RGNAME} -VMName ${VMNAME}
Ustawienia szyfrowania z każdego dysku można przechwycić przy użyciu następujących poleceń programu PowerShell.
Pojedynczy przebieg
W jednym przebiegu ustawienia szyfrowania są oznaczane na każdym z dysków (system operacyjny i dane). Ustawienia szyfrowania dysku systemu operacyjnego można przechwycić w jednym przekazaniu w następujący sposób:
$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 "============================================================================================================================================================="
Jeśli dysk nie ma sygnatur ustawień szyfrowania, dane wyjściowe będą puste:
Użyj następujących poleceń, aby przechwycić ustawienia szyfrowania dla dysków danych:
$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 "============================================================================================================================================================="
}
Podwójne przejście
W przypadku podwójnego przekazywania ustawienia szyfrowania są oznaczane w modelu maszyny wirtualnej, a nie na każdym dysku.
Aby sprawdzić, czy ustawienia szyfrowania zostały zastosowane w dwóch przebiegach, użyj następujących poleceń:
$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 "============================================================================================================================================================="
Nieprzyłączone dyski
Sprawdź ustawienia szyfrowania dysków, które nie są dołączone do maszyny wirtualnej.
dyski zarządzane
$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
Ogólny stan szyfrowania zaszyfrowanej maszyny wirtualnej można zweryfikować przy użyciu następujących poleceń interfejsu wiersza polecenia platformy Azure:
VMNAME="VMNAME"
RGNAME="RGNAME"
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} --query "substatus"
Pojedyncze przetwarzanie
Ustawienia szyfrowania dla każdego dysku można zweryfikować przy użyciu następujących poleceń interfejsu wiersza polecenia platformy Azure:
az vm encryption show -g ${RGNAME} -n ${VMNAME} --query "disks[*].[name, statuses[*].displayStatus]" -o table
Ważne
Jeśli dysk nie ma sygnatur ustawień szyfrowania, zobaczysz, że tekst Dysk nie jest zaszyfrowany.
Użyj następujących poleceń, aby uzyskać szczegółowy stan i ustawienia szyfrowania.
Dysk systemu operacyjnego:
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
Dyski danych:
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
Podwójna passa
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} -o table
Możesz również sprawdzić ustawienia szyfrowania w profilu magazynu modelu VM dysku systemu operacyjnego:
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
Nieprzyłączone dyski
Sprawdź ustawienia szyfrowania dysków, które nie są dołączone do maszyny wirtualnej.
dyski zarządzane
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 "============================================================================================================================================================="
dyski niezarządzane
Dyski niezarządzane to pliki VHD, które są przechowywane jako obiekty blob typu stronicowego w kontach magazynowych Azure.
Aby uzyskać szczegółowe informacje dotyczące określonego dysku, należy podać następujące informacje:
- Identyfikator konta magazynu zawierającego dysk.
- Ciąg połączenia dla tego konkretnego konta magazynowego.
- Nazwa kontenera, który przechowuje dysk.
- Nazwa dysku.
To polecenie wyświetla listę wszystkich identyfikatorów dla wszystkich kont przechowywania.
az storage account list --query [].[id] -o tsv
Identyfikatory kont magazynu są wymienione w następującym formularzu:
/subscriptions/<subscription id>/resourceGroups/<nazwa grupy zasobów>/providers/Microsoft.Storage/storageAccounts/<nazwa konta magazynu>
Wybierz odpowiedni identyfikator i zapisz go w zmiennej:
id="/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>"
To polecenie pobiera łańcuch połączenia dla jednego określonego konta magazynowego i zapisuje go w zmiennej.
ConnectionString=$(az storage account show-connection-string --ids $id --query connectionString -o tsv)
Następujące polecenie wyświetla listę wszystkich kontenerów na koncie magazynu:
az storage container list --connection-string $ConnectionString --query [].[name] -o tsv
Kontener używany dla dysków ma zwykle nazwę "vhds".
Zapisz nazwę kontenera w zmiennej:
ContainerName="name of the container"
Użyj tego polecenia, aby wyświetlić listę wszystkich obiektów blob w określonym kontenerze:
az storage blob list -c ${ContainerName} --connection-string $ConnectionString --query [].[name] -o tsv
Wybierz dysk, który chcesz wykonać zapytanie i zapisz jego nazwę w zmiennej:
DiskName="diskname.vhd"
Wykonaj zapytanie dotyczące ustawień szyfrowania dysków:
az storage blob show -c ${ContainerName} --connection-string ${ConnectionString} -n ${DiskName} --query metadata.DiskEncryptionSettings
System operacyjny
Sprawdź, czy partycje dysku danych są szyfrowane (a dysk systemu operacyjnego nie jest).
Gdy partycja lub dysk jest zaszyfrowana, jest wyświetlana jako typ kryptografii . Gdy nie jest szyfrowany, jest wyświetlany jako część/typ dysku .
sudo lsblk
Więcej szczegółów można uzyskać, korzystając z następującego wariantu lsblk .
Zobaczysz warstwę typu crypt , która jest instalowana przez rozszerzenie. W poniższym przykładzie przedstawiono woluminy logiczne i normalne dyski z crypto_LUKS FSTYPE.
sudo lsblk -o NAME,TYPE,FSTYPE,LABEL,SIZE,RO,MOUNTPOINT
W ramach dodatkowego kroku możesz sprawdzić, czy dysk danych ma załadowane klucze:
sudo cryptsetup luksDump /dev/VGNAME/LVNAME
sudo cryptsetup luksDump /dev/sdd1
Możesz również sprawdzić, które urządzenia dm są wyświetlane jako kryptograficzne:
sudo dmsetup ls --target crypt