كيفية إنشاء صورة مخصصة لأجهزة Azure الظاهرية السرية

ينطبق على: ✔️ أجهزة Linux الظاهرية

يوضح لك هذا "كيفية" كيفية استخدام واجهة سطر الأوامر Azure (Azure CLI) لإنشاء صورة مخصصة لجهازك الظاهري السري (VM السري) في Azure. يتم استخدام Azure CLI لإنشاء موارد Azure وإدارتها إما من سطر الأوامر أو في البرامج النصية.

يتيح لك إنشاء صورة مخصصة تكوين الجهاز الظاهري السري مسبقا باستخدام برامج وإعدادات ومقاييس أمان معينة تفي بمتطلباتك. إذا كنت ترغب في إحضار صورة Ubuntu غير متوافقة مع الجهاز الظاهري السري، يمكنك اتباع الخطوات أدناه لمعرفة الحد الأدنى من المتطلبات لصورتك.

المتطلبات الأساسية

إذا لم تكن مشتركًا في Azure، فيمكنك إنشاء حساب مجاني على Azure قبل البدء.

إطلاق Azure Cloud Shell

Azure Cloud Shell هو واجهة تفاعلية مجانية يمكنك استخدامه لتشغيل الخطوات الموجودة في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.

لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب متصفح منفصلة من خلال الانتقال إلى https://shell.azure.com/bash. حدد "نسخ" لنسخ مجموعات التعليمات البرمجية، والصقها في "Cloud Shell"، ثم حدد "إدخال" لتشغيلها.

إذا اخترت تثبيت واجهة سطر الأوامر واستخدامها محلياً، تتطلب خاصية التشغيل السريع هذه توفر إصدار "2.0.30" من "Azure" أو أي إصدار أحدث. قم بتشغيل az --version للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.

إنشاء مجموعة موارد

أنشئ مجموعة موارد باستخدام الأمر az group create. مجموعة موارد Azure هي حاوية منطقية يتم بها نشر موارد Azure وإدارتها.

إشعار

الأجهزة الظاهرية السرية غير متوفرة في جميع المواقع. بالنسبة للمواقع المدعومة حاليا، راجع منتجات الجهاز الظاهري المتوفرة بواسطة منطقة Azure.

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

إنشاء صورة مخصصة لأجهزة Azure الظاهرية السرية

  1. أنشئ جهازا ظاهريا باستخدام صورة Ubuntu التي تختارها من قائمة الصور المدعومة من Azure.

  2. تأكد من أن إصدار kernel هو 5.15.0-1037-azure على الأقل. يمكنك استخدام "uname -r" بعد الاتصال بالجهاز الظاهري للتحقق من إصدار kernel. هنا يمكنك إضافة أي تغييرات إلى الصورة كما تراه مناسبا.

  3. إلغاء تخصيص جهازك الظاهري.

    az vm deallocate --name $vmname --resource-group $resourceGroupName
    
  4. إنشاء رمز وصول مشترك (رمز SAS المميز) لقرص نظام التشغيل وتخزينه في متغير. لاحظ أن قرص نظام التشغيل هذا لا يجب أن يكون في نفس مجموعة الموارد مثل الجهاز الظاهري السري.

    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)
    

إنشاء حساب تخزين لتخزين القرص المصدر

  1. قم بإنشاء حساب تخزين.
    az storage account create --resource-group ${resourceGroupName} --name ${storageAccountName} --location $region --sku "Standard_LRS"
    
  2. إنشاء حاوية داخل حساب التخزين.
    az storage container create --name $storageContainerName --account-name $storageAccountName --resource-group $resourceGroupName
    
  3. إنشاء رمز وصول مشترك للقراءة (رمز SAS المميز) إلى حاوية التخزين وحفظه في متغير.
    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. باستخدام azcopy، انسخ قرص نظام التشغيل إلى حاوية التخزين.
     blob_url="https://${storageAccountName}.blob.core.windows.net/$storageContainerName/$referenceVHD"
     azcopy copy "$disk_url" "${blob_url}?${container_sas}"
    

إنشاء صورة سرية مدعومة

  1. إنشاء معرض صور مشترك.
    az sig create --resource-group $resourceGroupName --gallery-name $galleryName
    
  2. إنشاء تعريف معرض صور مشترك (SIG) الجهاز الظاهري السري المدعوم. تعيين أسماء جديدة لتعريف صورة المعرض وناشر SIG و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. احصل على معرف حساب التخزين.
    storageAccountId=$(az storage account show --name $storageAccountName --resource-group $resourceGroupName | jq -r .id)
    
  4. إنشاء إصدار صورة 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. تخزين معرف إصدار صورة SIG الذي تم إنشاؤه في الخطوة السابقة.
    galleryImageId=$(az sig image-version show --gallery-image-definition $imageDefinitionName --gallery-image-version $galleryImageVersion --gallery-name $galleryName --resource-group $resourceGroupName | jq -r .id)
    

إنشاء جهاز ظاهري سري

  1. إنشاء جهاز افتراضي من خلال أمر إنشاء "az vm" . لمزيد من المعلومات، راجع التمهيد الآمن وvTPM. لمزيد من المعلومات حول تشفير القرص، راجع تشفير قرص نظام التشغيل السري. تدعم الأجهزة الظاهرية السرية حاليا أحجام الأجهزة الظاهرية لسلسلة DC وسلسلة 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
    

الخطوات التالية