Delen via


Hoe een aangepaste afbeelding maken voor Azure Confidential Virtuele Machines

Van toepassing op: ✔️ Virtuele Linux-machines

Deze handleiding laat zien hoe u de Azure Command-Line Interface (Azure CLI) gebruikt om een aangepaste afbeelding te maken voor uw vertrouwelijke virtuele machine (VM) in Azure. De Azure CLI wordt gebruikt om Azure-resources te maken en te beheren via de opdrachtregel of via scripts.

Door een aangepaste installatiekopie te maken, kunt u uw vertrouwelijke VM vooraf configureren met specifieke software, instellingen en beveiligingsmaatregelen die voldoen aan uw vereisten. Als u een Ubuntu-installatiekopie wilt gebruiken die niet compatibel is met vertrouwelijke VM's, kunt u de onderstaande stappen volgen om te zien wat de minimale vereisten voor uw installatiekopie zijn.

Vereiste voorwaarden

Als u nog geen abonnement op Azure hebt, maakt u een gratis Azure-account voordat u begint.

Azure Cloud Shell starten

Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. Veelgebruikte Azure-hulpprogramma's zijn vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.

Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. Als u naar https://shell.azure.com/bash gaat, kunt u Cloud Shell ook openen in een afzonderlijk browsertabblad. Selecteer Kopiëren om de codeblokken te kopiëren, plak deze in Cloud Shell en selecteer vervolgens Enter om de code uit te voeren.

Als u ervoor kiest om de CLI lokaal te installeren en te gebruiken, hebt u voor deze snelstart versie 2.0.30 of hoger van Azure CLI nodig. Voer az --version uit om de versie te vinden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

Een brongroep maken

Maak een resourcegroep met de opdracht az group create. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.

Opmerking

Vertrouwelijke VM's zijn niet beschikbaar op alle locaties. Voor momenteel ondersteunde locaties kunt u zien welke VM-producten beschikbaar zijn per Azure-regio.

az group create --name $resourceGroupName --location eastus

Aangepaste afbeeldingen maken voor Azure Confidential VM's

  1. Maak een virtuele machine met een Ubuntu-installatiekopie van keuze uit de lijst met door Azure ondersteunde installatiekopieën.

  2. Zorg ervoor dat de kernelversie ten minste 5.15.0-1037-azure is. U kunt u 'uname -r' gebruiken nadat u verbinding hebt gemaakt met de VIRTUELE machine om de kernelversie te controleren. Hier kunt u eventuele wijzigingen aan de afbeelding toevoegen naar wens.

  3. Uw virtuele machine dealloceren.

    az vm deallocate --name $vmname --resource-group $resourceGroupName
    
  4. Maak een gedeeld toegangstoken (SAS-token) voor de besturingssysteemschijf en sla het op in een variabele. Houd er rekening mee dat deze besturingssysteemschijf zich niet in dezelfde resourcegroep hoeft te bevinden als de vertrouwelijke VM.

    disk_name=$(az vm show --name $vmname --resource-group $resourceGroupName | jq -r .storageProfile.osDisk.name)
    disk_url=$(az disk grant-access --duration-in-seconds 3600 --name $disk_name --resource-group $resourceGroupName | jq -r .accessSas)
    

Een opslagaccount maken om de geëxporteerde schijf op te slaan

  1. Maak een opslagaccount.
    az storage account create --resource-group ${resourceGroupName} --name ${storageAccountName} --location $region --sku "Standard_LRS"
    
  2. Maak een container in het opslagaccount.
    az storage container create --name $storageContainerName --account-name $storageAccountName --resource-group $resourceGroupName
    
  3. Genereer een gedeeld toegangstoken (SAS-token) voor lezen naar de opslagcontainer en sla het op in een variabele.
    container_sas=$(az storage container generate-sas --name $storageContainerName --account-name $storageAccountName --auth-mode key --expiry 2024-01-01 --https-only --permissions dlrw -o tsv)
    
  4. Kopieer met azcopy de besturingssysteemschijf naar de opslagcontainer.
     blob_url="https://${storageAccountName}.blob.core.windows.net/$storageContainerName/$referenceVHD"
     azcopy copy "$disk_url" "${blob_url}?${container_sas}"
    

Een vertrouwelijke ondersteunde afbeelding maken

  1. Maak een gedeelde afbeeldingsgalerij.
    az sig create --resource-group $resourceGroupName --gallery-name $galleryName
    
  2. Creëer een definitie voor een gedeelde installatiekopieëngalerie (SIG) die wordt ondersteund door een vertrouwelijke VM. Nieuwe namen instellen voor galerieafbeeldingsdefinitie, SIG-uitgever en SKU.
    az sig image-definition create --resource-group  $resourceGroupName --location $region --gallery-name $galleryName --gallery-image-definition $imageDefinitionName --publisher $sigPublisherName --offer ubuntu --sku $sigSkuName --os-type Linux --os-state specialized --hyper-v-generation V2  --features SecurityType=ConfidentialVMSupported
    
  3. Haal de opslagaccount-id op.
    storageAccountId=$(az storage account show --name $storageAccountName --resource-group $resourceGroupName | jq -r .id)
    
  4. Maak een SIG-beeldversie.
    az sig image-version create --resource-group $resourceGroupName --gallery-name $galleryName --gallery-image-definition $imageDefinitionName --gallery-image-version $galleryImageVersion --os-vhd-storage-account $storageAccountId --os-vhd-uri $blob_url
    
  5. Sla de ID op van de SIG-imageversie die in de vorige stap is gemaakt.
    galleryImageId=$(az sig image-version show --gallery-image-definition $imageDefinitionName --gallery-image-version $galleryImageVersion --gallery-name $galleryName --resource-group $resourceGroupName | jq -r .id)
    

Een vertrouwelijke VM maken

  1. Maak een VM met de opdracht az vm create. Zie beveiligd opstarten en vTPM voor meer informatie. Zie vertrouwelijke besturingssysteemschijfversleuteling voor meer informatie over schijfversleuteling. Momenteel ondersteunen vertrouwelijke VM's de VM-grootten van de DC-serie en de EC-serie .
    az vm create \
    --resource-group $resourceGroupName \
    --name $cvmname \
    --size Standard_DC4as_v5 \
    --enable-vtpm true \
    --enable-secure-boot true \
    --image $galleryImageId \
    --public-ip-sku Standard \
    --security-type ConfidentialVM \
    --os-disk-security-encryption-type VMGuestStateOnly \
    --specialized
    

Volgende stappen