Verifiera krypteringsstatus för Linux
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️
Omfånget för den här artikeln är att verifiera krypteringsstatusen för en virtuell dator med hjälp av olika metoder: Azure Portal, PowerShell, Azure CLI eller operativsystemet för den virtuella datorn (VM).
Du kan verifiera krypteringsstatusen under eller efter krypteringen genom att antingen:
- Kontrollera de diskar som är anslutna till en viss virtuell dator.
- Fråga krypteringsinställningarna på varje disk, oavsett om disken är ansluten eller inte.
Det här scenariot gäller för Tillägg med dubbla pass och enkel pass för Azure Disk Encryption. Linux-distributioner är den enda miljön för det här scenariot.
Kommentar
Vi använder variabler i hela artikeln. Ersätt värdena i enlighet med detta.
Portalen
I Azure Portal går du till avsnittet Tillägg och väljer tillägget Azure Disk Encryption i listan. Informationen för statusmeddelandet anger aktuell krypteringsstatus:
I listan över tillägg visas motsvarande Version av Azure Disk Encryption-tillägget. Version 0.x motsvarar dubbel passering i Azure Disk Encryption och version 1.x motsvarar enkel passering i Azure Disk Encryption.
Du kan få mer information genom att välja tillägget och sedan välja Visa detaljerad status. Krypteringsprocessens detaljerade status visas i JSON-format.
Ett annat sätt att verifiera krypteringsstatusen är genom att titta på avsnittet Diskinställningar .
Kommentar
Den här statusen innebär att diskarna har krypteringsinställningar stämplade, inte att de faktiskt krypterades på OS-nivå.
Enligt design stämplas diskarna först och krypteras senare. Om krypteringsprocessen misslyckas kan diskarna bli stämplade men inte krypterade.
För att kontrollera om diskarna verkligen är krypterade kan du dubbelkolla krypteringen för varje disk på OS-nivå.
PowerShell
Du kan verifiera den allmänna krypteringsstatusen för en krypterad virtuell dator med hjälp av följande PowerShell-kommandon:
$VMNAME="VMNAME"
$RGNAME="RGNAME"
Get-AzVmDiskEncryptionStatus -ResourceGroupName ${RGNAME} -VMName ${VMNAME}
Du kan samla in krypteringsinställningarna från varje disk med hjälp av följande PowerShell-kommandon.
Enkel passering
I ett enda pass stämplas krypteringsinställningarna på var och en av diskarna (operativsystem och data). Du kan avbilda krypteringsinställningarna för en OS-disk i ett enda pass på följande sätt:
$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 "============================================================================================================================================================="
Om disken inte har några krypteringsinställningar stämplade är utdata tomma:
Använd följande kommandon för att samla in krypteringsinställningar för datadiskar:
$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 "============================================================================================================================================================="
}
Dubbelpassning
I ett dubbelpass stämplas krypteringsinställningarna i VM-modellen och inte på varje enskild disk.
Kontrollera att krypteringsinställningarna har stämplats i ett dubbelt pass genom att använda följande kommandon:
$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 "============================================================================================================================================================="
Ej anslutna diskar
Kontrollera krypteringsinställningarna för diskar som inte är anslutna till en virtuell dator.
Hanterade diskar
$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
Du kan verifiera den allmänna krypteringsstatusen för en krypterad virtuell dator med hjälp av följande Azure CLI-kommandon:
VMNAME="VMNAME"
RGNAME="RGNAME"
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} --query "substatus"
Enkel passering
Du kan verifiera krypteringsinställningarna för varje disk med hjälp av följande Azure CLI-kommandon:
az vm encryption show -g ${RGNAME} -n ${VMNAME} --query "disks[*].[name, statuses[*].displayStatus]" -o table
Viktigt!
Om disken inte har några krypteringsinställningar stämplade ser du att texten Disk inte är krypterad.
Använd följande kommandon för att hämta detaljerade status- och krypteringsinställningar.
OS-disk:
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
Datadiskar:
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
Dubbelpassning
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} -o table
Du kan också kontrollera krypteringsinställningarna på VM Model Storage-profilen för OS-disken:
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
Ej anslutna diskar
Kontrollera krypteringsinställningarna för diskar som inte är anslutna till en virtuell dator.
Hanterade diskar
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 "============================================================================================================================================================="
Ohanterade diskar
Ohanterade diskar är VHD-filer som lagras som sidblobar i Azure Storage-konton.
För att få information om en viss disk måste du ange:
- ID för lagringskontot som innehåller disken.
- En anslutningssträng för just det lagringskontot.
- Namnet på containern som lagrar disken.
- Disknamnet.
Det här kommandot visar alla ID:t för alla dina lagringskonton:
az storage account list --query [].[id] -o tsv
Lagringskonto-ID:t visas i följande formulär:
/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>
Välj lämpligt ID och lagra det på en variabel:
id="/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>"
Det här kommandot hämtar anslutningssträng för ett visst lagringskonto och lagrar det på en variabel:
ConnectionString=$(az storage account show-connection-string --ids $id --query connectionString -o tsv)
Följande kommando visar alla containrar under ett lagringskonto:
az storage container list --connection-string $ConnectionString --query [].[name] -o tsv
Containern som används för diskar heter vanligtvis "vhds".
Lagra containernamnet på en variabel:
ContainerName="name of the container"
Använd det här kommandot om du vill visa en lista över alla blobar i en viss container:
az storage blob list -c ${ContainerName} --connection-string $ConnectionString --query [].[name] -o tsv
Välj den disk som du vill köra frågor mot och lagra dess namn på en variabel:
DiskName="diskname.vhd"
Fråga diskkrypteringsinställningarna:
az storage blob show -c ${ContainerName} --connection-string ${ConnectionString} -n ${DiskName} --query metadata.DiskEncryptionSettings
Operativsystem
Kontrollera om datadiskpartitionerna är krypterade (och os-disken inte är det).
När en partition eller disk krypteras visas den som en krypttyp . När den inte är krypterad visas den som en del/disktyp .
sudo lsblk
Du kan få mer information med hjälp av följande lsblk-variant .
Du ser ett krypttyplager som monteras av tillägget. I följande exempel visas logiska volymer och normala diskar som har crypto_LUKS FSTYPE.
sudo lsblk -o NAME,TYPE,FSTYPE,LABEL,SIZE,RO,MOUNTPOINT
Som ett extra steg kan du kontrollera om datadisken har några inlästa nycklar:
sudo cryptsetup luksDump /dev/VGNAME/LVNAME
sudo cryptsetup luksDump /dev/sdd1
Och du kan kontrollera vilka DM-enheter som anges som krypta:
sudo dmsetup ls --target crypt