Aracılığıyla paylaş


Azure Machine Configuration uzantısı

Makine Yapılandırması uzantısı, sanal makineler (VM' ler) içinde denetim ve yapılandırma işlemleri gerçekleştirir.

Linux ve Windows için Azure işlem güvenliği temel tanımları gibi VM'lerin içindeki ilkeleri denetlemek için Makine Yapılandırması uzantısının yüklenmesi gerekir.

Önkoşullar

VM'nizin Makine Yapılandırma hizmetinde kimlik doğrulaması yapmasını sağlamak için, VM'nizin sistem tarafından atanan bir yönetilen kimliği olmalıdır. Özelliğini ayarlayarak VM'nizin kimlik gereksinimini "type": "SystemAssigned" karşılayabilirsiniz:

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

İşletim sistemleri

Makine Yapılandırması uzantısı için işletim sistemi desteği, uçtan uca çözüm için belgelenmiş işletim sistemi desteğiyle aynıdır.

İnternet bağlantısı

Makine Yapılandırması uzantısı tarafından yüklenen aracı konuk yapılandırma atamaları tarafından listelenen içerik paketlerine ulaşabilmelidir ve Durumu Makine Yapılandırma hizmetine bildirmelidir. VM, 443 numaralı TCP bağlantı noktası üzerinden giden HTTPS'yi veya özel ağ üzerinden sağlanan bir bağlantıyı kullanarak bağlanabilir.

Özel ağ hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın:

Uzantıyı yükleme

Makine Yapılandırması uzantısını doğrudan Azure CLI veya PowerShell'den yükleyebilir ve dağıtabilirsiniz. Dağıtım şablonları Azure Resource Manager (ARM), Bicep ve Terraform için de kullanılabilir. Dağıtım şablonu ayrıntıları için bkz . Microsoft.GuestConfiguration guestConfigurationAssignments.

Not

Aşağıdaki dağıtım örneklerinde, parametre değerlerini yapılandırmanız için belirli değerlerle değiştirin <placeholder> .

Dağıtma konuları

Makine Yapılandırması uzantısını yüklemeden ve dağıtmadan önce aşağıdaki noktaları gözden geçirin.

  • Örnek adı. Makine Yapılandırması uzantısını yüklediğinizde, uzantının örnek adı veya AzurePolicyforLinuxolarak AzurePolicyforWindows ayarlanmalıdır. Daha önce açıklanan güvenlik temeli tanım ilkeleri bu belirli dizeleri gerektirir.

  • Sürümler. Varsayılan olarak, tüm dağıtımlar en son sürüme güncelleştirilir. Özelliğin autoUpgradeMinorVersion değeri, aksi belirtilmedikçe varsayılan olarak true belirtilir. Bu özellik, Makine Yapılandırması uzantısının yeni sürümleri yayımlandığında kodunuzu güncelleştirmeyle ilgili endişeleri hafifletmeye yardımcı olur.

  • Otomatik yükseltme. Makine Yapılandırması uzantısı özelliğini destekler enableAutomaticUpgrade . Bu özellik olarak trueayarlandığında, gelecekteki sürümler kullanıma sunulduklarında Azure uzantının en son sürümüne otomatik olarak yükseltilir. Daha fazla bilgi için bkz. Azure'da VM'ler ve Sanal Makine Ölçek Kümeleri için Otomatik Uzantı Yükseltme.

  • Azure İlkesi. Makine Yapılandırması uzantısının kimlik gereksinimleri de dahil olmak üzere en son sürümünü uygun ölçekte dağıtmak için Uyumsuz kaynakları tanımlamak için İlke ataması oluşturma'daki adımları izleyin. Azure İlkesi ile aşağıdaki atamayı oluşturun:

  • Diğer özellikler. Makine Yapılandırması uzantısına herhangi bir ayar veya protected-settings özelliği eklemeniz gerekmez. Aracı, Azure REST API Konuk Yapılandırması atama kaynaklarından bu bilgi sınıfını alır. Örneğin, ConfigurationUri, Modeve ConfigurationSetting özellikleri vm uzantısı yerine yapılandırma başına yönetilen özelliklerdir.

Azure CLI

Linux uzantısını dağıtmak için:

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

Windows uzantısını dağıtmak için:

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 uzantısını dağıtmak için:

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

Windows uzantısını dağıtmak için:

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

ARM şablonu

Linux uzantısını dağıtmak için:

{
  "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 uzantısını dağıtmak için:

{
  "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 şablonu

Linux uzantısını dağıtmak için:

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 uzantısını dağıtmak için:

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 şablonu

Linux uzantısını dağıtmak için:

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 uzantısını dağıtmak için:

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

Hata iletileri

Aşağıdaki tabloda Konuk Yapılandırması uzantısını etkinleştirmeyle ilgili olası hata iletileri listelenmektedir.

Hata kodu Açıklama
NoComplianceReport VM uyumluluk verilerini bildirmedi.
GCExtensionMissing Makine Yapılandırması (konuk yapılandırması) uzantısı eksik.
ManagedIdentityMissing Yönetilen kimlik eksik.
UserIdentityMissing Kullanıcı tarafından atanan kimlik eksik.
GCExtensionManagedIdentityMissing Makine Yapılandırması (konuk yapılandırması) uzantısı ve yönetilen kimlik eksik.
GCExtensionUserIdentityMissing Makine Yapılandırması (konuk yapılandırması) uzantısı ve kullanıcı tarafından atanan kimlik eksik.
GCExtensionIdentityMissing Makine Yapılandırması (konuk yapılandırması) uzantısı, yönetilen kimlik ve kullanıcı tarafından atanan kimlik eksik.

Sonraki adımlar

  • Makine Yapılandırması uzantısı hakkında daha fazla bilgi için bkz . Azure Machine Configuration'ı anlama.
  • Linux Aracısı ve uzantılarının nasıl çalıştığı hakkında daha fazla bilgi için bkz . Linux için sanal makine uzantıları ve özellikleri.
  • Windows Konuk Aracısı ve uzantılarının nasıl çalıştığı hakkında daha fazla bilgi için bkz . Windows için sanal makine uzantıları ve özellikleri.
  • Windows Konuk Aracısı'nı yüklemek için bkz . Azure Sanal Makine Aracısı'na genel bakış.
  • Linux Aracısı'nı yüklemek için bkz . Azure Linux Aracısı'nı anlama ve kullanma.