ملحق تكوين جهاز Azure

ينفذ ملحق Machine Configuration عمليات التدقيق والتكوين داخل الأجهزة الظاهرية (VMs).

للتحقق من النهج داخل الأجهزة الظاهرية، مثل تعريفات أساس أمان حساب Azure لنظامي التشغيل Linux وWindows، يجب تثبيت ملحق تكوين الجهاز.

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

لتمكين الجهاز الظاهري الخاص بك من المصادقة على خدمة تكوين الجهاز، يجب أن يكون الجهاز الظاهري الخاص بك هوية مدارة معينة من قبل النظام. يمكنك تلبية متطلبات الهوية لجهازك الظاهري عن طريق تعيين الخاصية "type": "SystemAssigned" :

"identity": {
   "type": "SystemAssigned"
}

أنظمة التشغيل

دعم نظام التشغيل لملحق تكوين الجهاز هو نفس دعم نظام التشغيل الموثق للحل الشامل.

الاتصال بالإنترنت

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

لمعرفة المزيد حول الشبكات الخاصة، راجع المقالات التالية:

ثبتالملحق

يمكنك تثبيت ملحق تكوين الجهاز ونشره مباشرة من Azure CLI أو PowerShell. تتوفر قوالب التوزيع أيضا ل Azure Resource Manager (ARM) وBicep وTerraform. للحصول على تفاصيل قالب النشر، راجع Microsoft.GuestConfiguration guestConfigurationAssignments.

إشعار

في أمثلة التوزيع التالية، استبدل <placeholder> قيم المعلمات بقيم محددة للتكوين الخاص بك.

اعتبارات النشر

قبل تثبيت ملحق تكوين الجهاز ونشره، راجع الاعتبارات التالية.

  • اسم المثيل. عند تثبيت ملحق تكوين الجهاز، يجب تعيين اسم مثيل الملحق إلى AzurePolicyforWindows أو AzurePolicyforLinux. تتطلب نهج تعريف أساس الأمان الموضحة سابقا هذه السلاسل المحددة.

  • الإصدارات. بشكل افتراضي، يتم تحديث جميع عمليات النشر إلى أحدث إصدار. يتم تعيين قيمة الخاصية autoUpgradeMinorVersion افتراضيا إلى true ما لم يتم تحديد خلاف ذلك. تساعد هذه الميزة على تخفيف المخاوف بشأن تحديث التعليمات البرمجية عند إصدار إصدارات جديدة من ملحق Machine Configuration.

  • الترقية التلقائية. يدعم ملحق Machine Configuration الخاصية enableAutomaticUpgrade . عند تعيين هذه الخاصية إلى true، يقوم Azure تلقائيا بالترقية إلى أحدث إصدار من الملحق مع توفر الإصدارات المستقبلية. لمزيد من المعلومات، راجع الترقية التلقائية للملحق للأجهزة الظاهرية ومجموعات مقياس الجهاز الظاهري في Azure.

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

  • خصائص أخرى. لا تحتاج إلى تضمين أي إعدادات أو خصائص إعدادات محمية على ملحق تكوين الجهاز. يسترد العامل هذه الفئة من المعلومات من موارد تعيين Azure REST API Guest Configuration. على سبيل المثال، ConfigurationUriModeتتم إدارة كل خصائص و و ConfigurationSetting لكل تكوين بدلا من ملحق الجهاز الظاهري.

Azure CLI

لنشر الملحق لنظام Linux:

az vm extension set  --publisher Microsoft.GuestConfiguration --name ConfigurationForLinux --extension-instance-name AzurePolicyforLinux --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true

لنشر الملحق لنظام Windows:

az vm extension set  --publisher Microsoft.GuestConfiguration --name ConfigurationforWindows --extension-instance-name AzurePolicyforWindows --resource-group <myResourceGroup> --vm-name <myVM> --enable-auto-upgrade true

PowerShell

لنشر الملحق لنظام Linux:

Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationForLinux' -Name 'AzurePolicyforLinux' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true

لنشر الملحق لنظام Windows:

Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationforWindows' -Name 'AzurePolicyforWindows' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true

قالب ARM

لنشر الملحق لنظام Linux:

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "[concat(parameters('VMName'), '/AzurePolicyforLinux')]",
  "apiVersion": "2020-12-01",
  "location": "[parameters('location')]",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
  ],
  "properties": {
    "publisher": "Microsoft.GuestConfiguration",
    "type": "ConfigurationForLinux",
    "typeHandlerVersion": "1.0",
    "autoUpgradeMinorVersion": true,
    "enableAutomaticUpgrade": true, 
    "settings": {},
    "protectedSettings": {}
  }
}

لنشر الملحق لنظام Windows:

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "[concat(parameters('VMName'), '/AzurePolicyforWindows')]",
  "apiVersion": "2020-12-01",
  "location": "[parameters('location')]",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
  ],
  "properties": {
    "publisher": "Microsoft.GuestConfiguration",
    "type": "ConfigurationforWindows",
    "typeHandlerVersion": "1.0",
    "autoUpgradeMinorVersion": true,
    "enableAutomaticUpgrade": true, 
    "settings": {},
    "protectedSettings": {}
  }
}

قالب Bicep

لنشر الملحق لنظام Linux:

resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
  name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
  parent: virtualMachine
  name: 'AzurePolicyforLinux'
  location: resourceGroup().location
  properties: {
    publisher: 'Microsoft.GuestConfiguration'
    type: 'ConfigurationForLinux'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {}
    protectedSettings: {}
  }
}

لنشر الملحق لنظام Windows:

resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
  name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
  parent: virtualMachine
  name: 'AzurePolicyforWindows'
  location: resourceGroup().location
  properties: {
    publisher: 'Microsoft.GuestConfiguration'
    type: 'ConfigurationforWindows'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {}
    protectedSettings: {}
  }
}

قالب Terraform

لنشر الملحق لنظام Linux:

resource "azurerm_virtual_machine_extension" "gc" {
  name                       = "AzurePolicyforLinux"
  virtual_machine_id         = "<myVMID>"
  publisher                  = "Microsoft.GuestConfiguration"
  type                       = "ConfigurationForLinux"
  type_handler_version       = "1.0"
  auto_upgrade_minor_version = "true"
}

لنشر الملحق لنظام Windows:

resource "azurerm_virtual_machine_extension" "gc" {
  name                       = "AzurePolicyforWindows"
  virtual_machine_id         = "<myVMID>"
  publisher                  = "Microsoft.GuestConfiguration"
  type                       = "ConfigurationforWindows"
  type_handler_version       = "1.0"
  auto_upgrade_minor_version = "true"
}

رسائل خطأ

يسرد الجدول التالي رسائل الخطأ المحتملة المتعلقة بتمكين ملحق تكوين الضيف.

رمز الخطأ ‏‏الوصف
تقرير عدم التوافق لم يبلغ الجهاز الظاهري عن بيانات التوافق.
GCExtensionMissing ملحق تكوين الجهاز (تكوين الضيف) مفقود.
ManagedIdentityMissing الهوية المدارة مفقودة.
UserIdentityMissing الهوية المعينة من قبل المستخدم مفقودة.
GCExtensionManagedIdentityMissing ملحق تكوين الجهاز (تكوين الضيف) والهوية المدارة مفقودان.
GCExtensionUserIdentityMissing ملحق تكوين الجهاز (تكوين الضيف) والهوية المعينة من قبل المستخدم مفقودة.
GCExtensionIdentityMissing ملحق تكوين الجهاز (تكوين الضيف) والهوية المدارة والهوية المعينة من قبل المستخدم مفقودة.

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