Partilhar via


Verificar o status de criptografia para Linux

Important

O Azure Disk Encryption está programado para ser descontinuado a 15 de setembro de 2028. Até essa data, pode continuar a usar o Azure Disk Encryption sem interrupções. A 15 de setembro de 2028, cargas de trabalho com ADE continuarão a funcionar, mas os discos encriptados não conseguirão desbloquear após o reinício da VM, resultando em interrupção do serviço.

Use encriptação no host para novas VMs. Todas as VMs habilitadas por ADE (incluindo backups) devem migrar para encriptação no host antes da data de desativação para evitar interrupções do serviço. Consulte Migrar de Encriptação de Disco Azure para Encriptação no Host para mais detalhes.

Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível

O escopo deste artigo é validar o status de criptografia de uma máquina virtual usando métodos diferentes: o portal do Azure, o PowerShell, a CLI do Azure ou o sistema operacional da máquina virtual (VM).

Você pode validar o status da criptografia durante ou após a criptografia:

  • Verificar os discos conectados a uma VM específica.
  • Consultar as configurações de criptografia em cada disco, se o disco está conectado ou desconectado.

Este cenário aplica-se às extensões de passagem dupla e de passo único da Encriptação de Disco do Azure. As distribuições Linux são o único ambiente para este cenário.

Note

Estamos usando variáveis ao longo do artigo. Substitua os valores adequadamente.

Portal

No portal do Azure, dentro da seção Extensões , selecione a extensão Azure Disk Encryption na lista. As informações da mensagem Status indicam o status atual da criptografia:

Verificação do portal com status, versão e mensagem de status realçados

Na lista de extensões, você verá a versão correspondente da extensão Azure Disk Encryption. A versão 0.x corresponde à passagem dupla do Azure Disk Encryption e a versão 1.x corresponde à passagem única do Azure Disk Encryption.

Você pode obter mais detalhes selecionando a extensão e, em seguida, selecionando Exibir status detalhado. O status detalhado do processo de criptografia aparece no formato JSON.

Verificação do portal com o link

Status detalhado no formato JSON

Outra maneira de validar o status de criptografia é observando a seção Configurações de disco .

Status de criptografia para disco do sistema operacional e discos de dados

Note

Esse status significa que os discos têm configurações de criptografia carimbadas, não que eles foram realmente criptografados no nível do sistema operacional.

Por design, os discos são carimbados primeiro e criptografados depois. Se o processo de encriptação falhar, os discos podem acabar carimbados mas não encriptados.

Para confirmar se os discos estão realmente encriptados, pode verificar novamente a encriptação de cada disco ao nível do SO.

PowerShell

Você pode validar o status geral de criptografia de uma VM criptografada usando os seguintes comandos do PowerShell:

   $VMNAME="VMNAME"
   $RGNAME="RGNAME"
   Get-AzVmDiskEncryptionStatus -ResourceGroupName  ${RGNAME} -VMName ${VMNAME}

Status geral de criptografia no PowerShell

Você pode capturar as configurações de criptografia de cada disco usando os seguintes comandos do PowerShell.

Passe único

Em uma única passagem, as configurações de criptografia são estampadas em cada um dos discos (sistema operacional e dados). Você pode capturar as configurações de criptografia para um disco do sistema operacional em uma única passagem da seguinte maneira:

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

Configurações de criptografia para um disco do sistema operacional

Se o disco não tiver as configurações de criptografia carimbadas, a saída ficará vazia:

Saída vazia

Use os seguintes comandos para capturar configurações de criptografia para discos de dados:

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

Configurações de criptografia para discos de dados

Passe duplo

Em uma passagem dupla, as configurações de criptografia são carimbadas no modelo de VM e não em cada disco individual.

Para verificar se as configurações de criptografia foram carimbadas em uma passagem dupla, use os seguintes comandos:

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

Discos não anexados

Verifique as configurações de criptografia para discos que não estão conectados a uma VM.

Discos gerenciados

$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

Você pode validar o status geral de criptografia de uma VM criptografada usando os seguintes comandos da CLI do Azure:

VMNAME="VMNAME"
RGNAME="RGNAME"
az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} --query "substatus"

Status geral de criptografia da CLI do Azure

Passe único

Você pode validar as configurações de criptografia para cada disco usando os seguintes comandos da CLI do Azure:

az vm encryption show -g ${RGNAME} -n ${VMNAME} --query "disks[*].[name, statuses[*].displayStatus]"  -o table

Configurações de criptografia de dados

Important

Se o disco não tiver as configurações de criptografia carimbadas, você verá que o texto Disco não está criptografado.

Use os comandos a seguir para obter configurações detalhadas de status e criptografia.

Disco do SO:

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

Status detalhado e configurações de criptografia para o disco do sistema operacional

Discos de dados:

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

Status detalhado e definições de encriptação para os discos de dados

Passe duplo

az vm encryption show --name ${VMNAME} --resource-group ${RGNAME} -o table

Configurações gerais de criptografia para dual pass por meio da CLI do Azure

Você também pode verificar as configurações de criptografia no perfil de armazenamento do modelo de VM do disco do sistema operacional:

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

Perfil de VM para passagem dupla através da CLI do Azure

Discos não anexados

Verifique as configurações de criptografia para discos que não estão conectados a uma VM.

Discos gerenciados

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

Discos não administrados

Discos não gerenciados são arquivos VHD armazenados como blobs de página em contas de armazenamento do Azure.

Para obter os detalhes de um disco específico, você precisa fornecer:

  • A ID da conta de armazenamento que contém o disco.
  • Uma cadeia de conexão para essa conta de armazenamento específica.
  • O nome do contêiner que armazena o disco.
  • O nome do disco.

Este comando lista todos os IDs de todas as suas contas de armazenamento:

az storage account list --query [].[id] -o tsv

Os IDs da conta de armazenamento estão listados da seguinte forma:

/subscriptions/<id de subscrição>/resourceGroups/<nome do grupo de recursos>/providers/Microsoft.Storage/storageAccounts/<nome da conta de armazenamento>

Selecione o ID apropriado e armazene-o em uma variável:

id="/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>"

Este comando obtém a cadeia de conexão para uma conta de armazenamento específica e a armazena em uma variável:

ConnectionString=$(az storage account show-connection-string --ids $id --query connectionString -o tsv)

O comando a seguir lista todos os contêineres em uma conta de armazenamento:

az storage container list --connection-string $ConnectionString --query [].[name] -o tsv

O contêiner usado para discos é normalmente chamado de "vhds".

Armazene o nome do contêiner em uma variável:

ContainerName="name of the container"

Use este comando para listar todos os blobs em um contêiner específico:

az storage blob list -c ${ContainerName} --connection-string $ConnectionString --query [].[name] -o tsv

Escolha o disco que você deseja consultar e armazene seu nome em uma variável:

DiskName="diskname.vhd"

Consulte as configurações de criptografia de disco:

az storage blob show -c ${ContainerName} --connection-string ${ConnectionString} -n ${DiskName} --query metadata.DiskEncryptionSettings

Sistema operativo

Valide se as partições do disco de dados estão encriptadas (e o disco do SO não).

Quando uma partição ou disco é encriptado, é apresentado como um tipo de encriptação . Quando não está encriptado, é apresentado como um tipo de peça/disco .

sudo lsblk

Camada de encriptação do SO para uma partição

Você pode obter mais detalhes usando a seguinte variante lsblk .

Você verá uma camada do tipo crypt montada pela extensão. O exemplo a seguir mostra volumes lógicos e discos normais com crypto_LUKS FSTYPE.

sudo lsblk -o NAME,TYPE,FSTYPE,LABEL,SIZE,RO,MOUNTPOINT

Camada de encriptação do SO para volumes lógicos e discos normais

Como etapa extra, você pode validar se o disco de dados tem alguma chave carregada:

sudo cryptsetup luksDump /dev/VGNAME/LVNAME
sudo cryptsetup luksDump /dev/sdd1

E você pode verificar quais dispositivos dm estão listados como crypt:

sudo dmsetup ls --target crypt

Próximos passos