Delen via


Azure Machine Configuration-extensie

De machineconfiguratie-extensie voert controle- en configuratiebewerkingen uit binnen virtuele machines (VM's).

Als u beleidsregels in VM's wilt controleren, zoals Azure Compute-beveiligingsbasislijndefinities voor Linux en Windows, moet de machineconfiguratie-extensie zijn geïnstalleerd.

Vereisten

Als u wilt dat uw VIRTUELE machine kan worden geverifieerd bij de Machine Configuration-service, moet uw VM een door het systeem toegewezen beheerde identiteit hebben. U kunt voldoen aan de identiteitsvereiste voor uw VIRTUELE machine door de "type": "SystemAssigned" eigenschap in te stellen:

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

Besturingssystemen

Ondersteuning van besturingssystemen voor de extensie Machineconfiguratie is hetzelfde als gedocumenteerde besturingssysteemondersteuning voor de end-to-end-oplossing.

Verbinding met internet

De agent die door de machineconfiguratie-extensie is geïnstalleerd, moet inhoudspakketten kunnen bereiken die worden vermeld door gastconfiguratietoewijzingen en de status rapporteren aan de Machine Configuration-service. De VIRTUELE machine kan verbinding maken met behulp van uitgaande HTTPS via TCP-poort 443 of een verbinding via privénetwerken.

Zie de volgende artikelen voor meer informatie over privénetwerken:

De extensie installeren

U kunt de machineconfiguratie-extensie rechtstreeks vanuit de Azure CLI of PowerShell installeren en implementeren. Implementatiesjablonen zijn ook beschikbaar voor Azure Resource Manager (ARM), Bicep en Terraform. Zie Microsoft.GuestConfiguration guestConfigurationAssignments voor meer informatie over de implementatiesjabloon.

Notitie

Vervang in de volgende implementatievoorbeelden <placeholder> parameterwaarden door specifieke waarden voor uw configuratie.

Implementatieoverwegingen

Bekijk de volgende overwegingen voordat u de machineconfiguratie-extensie installeert en implementeert.

  • Exemplaarnaam. Wanneer u de machineconfiguratie-extensie installeert, moet de exemplaarnaam van de extensie worden ingesteld op AzurePolicyforWindows of AzurePolicyforLinux. Voor het definitiebeleid voor de beveiligingsbasislijn die eerder is beschreven, zijn deze specifieke tekenreeksen vereist.

  • Versies. Standaard worden alle implementaties bijgewerkt naar de nieuwste versie. De waarde van de autoUpgradeMinorVersion eigenschap wordt standaard ingesteld op true tenzij anders opgegeven. Met deze functie kunt u zorgen maken over het bijwerken van uw code wanneer nieuwe versies van de machineconfiguratie-extensie worden uitgebracht.

  • Automatische upgrade. De machineconfiguratie-extensie ondersteunt de enableAutomaticUpgrade eigenschap. Wanneer deze eigenschap is ingesteld op true, wordt Azure automatisch bijgewerkt naar de nieuwste versie van de extensie zodra toekomstige releases beschikbaar komen. Zie Automatische extensie-upgrade voor VM's en virtuele-machineschaalsets in Azure voor meer informatie.

  • Azure Policy. Als u de nieuwste versie van de machineconfiguratie-extensie op schaal wilt implementeren, inclusief identiteitsvereisten, volgt u de stappen in Een beleidstoewijzing maken om niet-compatibele resources te identificeren. Maak de volgende toewijzing met Azure Policy:

  • Andere eigenschappen. U hoeft geen instellingen of eigenschappen voor beveiligde instellingen op te nemen in de machineconfiguratie-extensie. De agent haalt deze informatieklasse op uit de toewijzingsbronnen van de Azure REST API-gastconfiguratie. De , Modeen ConfigurationSetting eigenschappen worden bijvoorbeeld ConfigurationUrielk beheerd per configuratie in plaats van op de VM-extensie.

Azure-CLI

De extensie voor Linux implementeren:

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

De extensie voor Windows implementeren:

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

Powershell

De extensie voor Linux implementeren:

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

De extensie voor Windows implementeren:

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

ARM-sjabloon

De extensie voor Linux implementeren:

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

De extensie voor Windows implementeren:

{
  "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-sjabloon

De extensie voor Linux implementeren:

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: {}
  }
}

De extensie voor Windows implementeren:

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-sjabloon

De extensie voor Linux implementeren:

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

De extensie voor Windows implementeren:

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

Foutberichten

De volgende tabel bevat mogelijke foutberichten met betrekking tot het inschakelen van de extensie Gastconfiguratie.

Foutcode Beschrijving
NoComplianceReport De VM heeft de nalevingsgegevens niet gerapporteerd.
GCExtensionMissing De extensie Voor machineconfiguratie (gastconfiguratie) ontbreekt.
ManagedIdentityMissing De beheerde identiteit ontbreekt.
UserIdentityMissing De door de gebruiker toegewezen identiteit ontbreekt.
GCExtensionManagedIdentityMissing De extensie voor machineconfiguratie (gastconfiguratie) en beheerde identiteit ontbreken.
GCExtensionUserIdentityMissing De extensie voor machineconfiguratie (gastconfiguratie) en door de gebruiker toegewezen identiteit ontbreken.
GCExtensionIdentityMissing De extensie machineconfiguratie (gastconfiguratie), beheerde identiteit en door de gebruiker toegewezen identiteit ontbreken.

Volgende stappen