Cara membuat gambar kustom untuk VM rahasia Azure

Berlaku untuk: ✔️ mesin virtual Linux

"Cara" ini menunjukkan kepada Anda cara menggunakan Azure Command-Line Interface (Azure CLI) untuk membuat gambar kustom untuk komputer virtual rahasia (confidential VM) Anda di Azure. Azure CLI digunakan untuk membuat dan mengelola sumber daya Azure melalui baris perintah atau skrip.

Membuat gambar kustom memungkinkan Anda mengonfigurasi VM rahasia dengan perangkat lunak, pengaturan, dan langkah-langkah keamanan tertentu yang memenuhi kebutuhan Anda. Jika Anda ingin membawa gambar Ubuntu yang tidak kompatibel dengan VM rahasia, Anda dapat mengikuti langkah-langkah di bawah ini untuk melihat persyaratan minimum untuk gambar Anda.

Prasyarat

Jika tidak memiliki langganan Azure, buat akun Azure gratis sebelum Anda memulai.

Meluncurkan Azure Cloud Shell

Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.

Untuk membuka Cloud Shell, cukup pilih Cobalah dari sudut kanan atas blok kode. Anda juga dapat membuka Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com/bash. Pilih Salin untuk menyalin blok kode, tempelkan ke Cloud Shell, lalu pilih Masukkan untuk menjalankannya.

Jika Anda lebih suka menginstal dan menggunakan CLI secara lokal, mulai cepat ini memerlukan Azure CLI versi 2.0.30 atau yang lebih baru. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Buat grup sumber daya

Buat grup sumber daya dengan perintah az group create. Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure disebarkan dan dikelola.

Catatan

VM rahasia tidak tersedia di semua lokasi. Untuk lokasi yang saat ini didukung, lihat produk VM mana yang tersedia oleh wilayah Azure.

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

Membuat gambar kustom untuk VM rahasia Azure

  1. Buat komputer virtual dengan gambar pilihan Ubuntu dari daftar gambar yang didukung Azure.

  2. Pastikan versi kernel setidaknya 5.15.0-1037-azure. Anda dapat menggunakan "uname -r" setelah menyambungkan ke VM untuk memeriksa versi kernel. Di sini Anda dapat menambahkan perubahan apa pun ke gambar sesuai keinginan Anda.

  3. Batalkan alokasi komputer virtual Anda.

    az vm deallocate --name $vmname --resource-group $resourceGroupName
    
  4. Buat token akses bersama (token SAS) untuk disk OS dan simpan dalam variabel. Perhatikan bahwa disk OS ini tidak harus berada dalam grup sumber daya yang sama dengan VM rahasia.

    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)
    

Membuat akun penyimpanan untuk menyimpan disk yang diekspor

  1. Membuat akun penyimpanan.
    az storage account create --resource-group ${resourceGroupName} --name ${storageAccountName} --location $region --sku "Standard_LRS"
    
  2. Buat kontainer dalam akun penyimpanan.
    az storage container create --name $storageContainerName --account-name $storageAccountName --resource-group $resourceGroupName
    
  3. Buat token akses bersama baca (token SAS) ke kontainer penyimpanan dan simpan dalam variabel.
    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. Menggunakan azcopy, salin disk OS ke kontainer penyimpanan.
     blob_url="https://${storageAccountName}.blob.core.windows.net/$storageContainerName/$referenceVHD"
     azcopy copy "$disk_url" "${blob_url}?${container_sas}"
    

Membuat gambar yang didukung rahasia

  1. Membuat Shared Image Gallery.
    az sig create --resource-group $resourceGroupName --gallery-name $galleryName
    
  2. Buat definisi shared image gallery (SIG) confidential VM yang didukung. Atur nama baru untuk definisi gambar galeri, penerbit SIG, dan 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. Dapatkan ID akun penyimpanan.
    storageAccountId=$(az storage account show --name $storageAccountName --resource-group $resourceGroupName | jq -r .id)
    
  4. Buat versi gambar SIG.
    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. Simpan ID versi gambar SIG yang dibuat di langkah sebelumnya.
    galleryImageId=$(az sig image-version show --gallery-image-definition $imageDefinitionName --gallery-image-version $galleryImageVersion --gallery-name $galleryName --resource-group $resourceGroupName | jq -r .id)
    

Membuat VM rahasia

  1. Buat VM dengan perintah az vm create. Untuk informasi selengkapnya, lihat boot aman dan vTPM. Untuk informasi selengkapnya tentang enkripsi disk, lihat enkripsi disk OS rahasia. Saat ini VM rahasia mendukung ukuran VM seri DC dan seri EC.
    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
    

Langkah berikutnya