Dela via


Azure Machine Configuration-tillägg

Datorkonfigurationstillägget utför gransknings- och konfigurationsåtgärder på virtuella datorer (VM).

Om du vill kontrollera principer i virtuella datorer, till exempel Azure-beräkningssäkerhetsbaslinjedefinitioner för Linux och Windows, måste datorkonfigurationstillägget installeras.

Förutsättningar

För att den virtuella datorn ska kunna autentiseras till tjänsten Datorkonfiguration måste den virtuella datorn ha en systemtilldelad hanterad identitet. Du kan uppfylla identitetskravet för den virtuella datorn genom att ange egenskapen "type": "SystemAssigned" :

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

Operativsystem

Operativsystemsstöd för tillägget Datorkonfiguration är detsamma som dokumenterat operativsystemstöd för lösningen från slutpunkt till slutpunkt.

Internet-anslutning

Agenten som installerats av tillägget Datorkonfiguration måste kunna nå innehållspaket som anges av gästkonfigurationstilldelningar och rapportera status till machine configuration-tjänsten. Den virtuella datorn kan ansluta med hjälp av utgående HTTPS via TCP-port 443 eller en anslutning som tillhandahålls via privata nätverk.

Mer information om privata nätverk finns i följande artiklar:

Installera tillägget

Du kan installera och distribuera datorkonfigurationstillägget direkt från Azure CLI eller PowerShell. Distributionsmallar är också tillgängliga för Azure Resource Manager (ARM), Bicep och Terraform. Information om distributionsmallar finns i Microsoft.GuestConfiguration guestConfigurationAssignments.

Kommentar

I följande distributionsexempel ersätter du <placeholder> parametervärden med specifika värden för konfigurationen.

Att tänka på vid distribuering

Innan du installerar och distribuerar machine configuration-tillägget bör du läsa följande överväganden.

  • Instansnamn. När du installerar datorkonfigurationstillägget måste instansnamnet för tillägget anges till AzurePolicyforWindows eller AzurePolicyforLinux. De definitionsprinciper för säkerhetsbaslinje som beskrevs tidigare kräver dessa specifika strängar.

  • Versioner. Som standard uppdateras alla distributioner till den senaste versionen. Värdet för autoUpgradeMinorVersion egenskapen är standardvärdet true om inget annat anges. Den här funktionen hjälper till att minska oron för att uppdatera koden när nya versioner av Machine Configuration-tillägget släpps.

  • Automatisk uppgradering. Machine Configuration-tillägget stöder enableAutomaticUpgrade egenskapen. När den här egenskapen är inställd truepå uppgraderar Azure automatiskt till den senaste versionen av tillägget när framtida versioner blir tillgängliga. Mer information finns i Automatisk tilläggsuppgradering för virtuella datorer och VM-skalningsuppsättningar i Azure.

  • Azure Policy. Om du vill distribuera den senaste versionen av Machine Configuration-tillägget i stor skala, inklusive identitetskrav, följer du stegen i Skapa en principtilldelning för att identifiera icke-kompatibla resurser. Skapa följande tilldelning med Azure Policy:

  • Andra egenskaper. Du behöver inte inkludera några inställningar eller egenskaper för skyddade inställningar i datorkonfigurationstillägget. Agenten hämtar den här informationsklassen från tilldelningsresurserna för Azure REST API-gästkonfiguration. Egenskaperna , Modeoch ConfigurationSetting är till exempel ConfigurationUrihanterade per konfiguration i stället för vm-tillägget.

Azure CLI

Så här distribuerar du tillägget för Linux:

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

Så här distribuerar du tillägget för 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

Så här distribuerar du tillägget för Linux:

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

Så här distribuerar du tillägget för Windows:

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

ARM-mall

Så här distribuerar du tillägget för 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": {}
  }
}

Så här distribuerar du tillägget för 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-mall

Så här distribuerar du tillägget för 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: {}
  }
}

Så här distribuerar du tillägget för 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-mall

Så här distribuerar du tillägget för 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"
}

Så här distribuerar du tillägget för 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"
}

Felmeddelanden

I följande tabell visas möjliga felmeddelanden som rör aktivering av gästkonfigurationstillägget.

Felkod beskrivning
NoComplianceReport Den virtuella datorn har inte rapporterat efterlevnadsdata.
GCExtensionMissing Tillägget Datorkonfiguration (gästkonfiguration) saknas.
ManagedIdentityMissing Den hanterade identiteten saknas.
UserIdentityMissing Den användartilldelade identiteten saknas.
GCExtensionManagedIdentityMissing Datorkonfigurationstillägget (gästkonfiguration) och den hanterade identiteten saknas.
GCExtensionUserIdentityMissing Tillägget Datorkonfiguration (gästkonfiguration) och användartilldelad identitet saknas.
GCExtensionIdentityMissing Tillägget Datorkonfiguration (gästkonfiguration), hanterad identitet och användartilldelad identitet saknas.

Nästa steg