Dela via


Förstå tilldelningsresurser för datorkonfiguration

När en Azure Policy tilldelas, om den finns i kategorin Guest Configuration ingår metadata för att beskriva en gästtilldelning.

En videogenomgång av det här dokumentet är tillgänglig.

Du kan se en gästtilldelning som en länk mellan en dator och ett Azure Policy-scenario. Följande kodfragment associerar till exempel Azure Windows-baslinjekonfigurationen med lägsta version 1.0.0 till alla datorer som omfattas av principen.

"metadata": {
    "category": "Guest Configuration",
    "guestConfiguration": {
        "name": "AzureWindowsBaseline",
        "version": "1.*"
    }
  //additional metadata properties exist
}

Så använder Azure Policy datorkonfigurationstilldelningar

Datorkonfigurationstjänsten använder metadatainformationen för att automatiskt skapa en granskningsresurs för definitioner med antingen AuditIfNotExists eller DeployIfNotExists principeffekter. Resurstypen är Microsoft.GuestConfiguration/guestConfigurationAssignments. Azure Policy använder egenskapen complianceStatus för gästtilldelningsresursen för att rapportera efterlevnadsstatus. Mer information finns i hämta efterlevnadsdata.

Anmärkning

När du tilldelar en anpassad princip som distribuerar en gästkonfiguration kan egenskapen assignmentType för gästtilldelningsresursen tillfälligt visas som "Null" innan den uppdateras för att återspegla det värde som anges i principdefinitionen. Detta är ett förväntat beteende och löses vanligtvis inom en timme.

Borttagning av gästtilldelningar från Azure Policy

När en Azure Policy-tilldelning tas bort, tas även en datorkonfigurationstilldelning bort om principen har skapat en sådan.

När en Azure Policy-tilldelning tas bort från ett initiativ måste du manuellt ta bort alla datorkonfigurationstilldelningar som principen skapade. Du kan göra det genom att gå till gästtilldelningssidan i Azure-portalen och ta bort tilldelningen där.

Skapa datorkonfigurationstilldelningar manuellt

Du kan skapa gästtilldelningsresurser i Azure Resource Manager med hjälp av Azure Policy eller valfri klient-SDK.

Ett exempel på en distributionsmall:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "apiVersion": "2021-01-25",
      "type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
      "name": "myMachine/Microsoft.GuestConfiguration/myConfig",
      "location": "westus2",
      "properties": {
        "guestConfiguration": {
          "name": "myConfig",
          "contentUri": "https://mystorageaccount.blob.core.windows.net/mystoragecontainer/myConfig.zip?sv=SASTOKEN",
          "contentHash": "SHA256HASH",
          "version": "1.0.0",
          "assignmentType": "ApplyAndMonitor",
          "configurationParameter": [
            "name":"configurationName",
            "value":"configurationValue"
          ]
        }
      }
    }
  ]
}

Exempel på configurationParameter:

   "configurationParameter": [
        {
          "name": "[SecureWebServer]s1;MinimumTLSVersion",
          "value": "1.2"
        }
      ],

I följande tabell beskrivs varje egenskap för gästtilldelningsresurser.

Fastighet Description
name Namnet på konfigurationen i innehållspaketets MOF-fil.
contentUri HTTPS-URI-sökväg till innehållspaketet (.zip).
contentHash Ett SHA256-hashvärde för innehållspaketet som används för att verifiera att det inte har ändrats.
version Version av innehållspaketet. Används endast för inbyggda paket och används inte för anpassade innehållspaket.
assignmentType Beteende vid tilldelning Tillåtna värden: Audit, ApplyandMonitoroch ApplyandAutoCorrect.
configurationParameter Lista över DSC-resurstyp, namn och värde i innehållspaketets MOF-fil som ska ersättas efter att den har laddats ned till maskinen.

Borttagning av manuellt skapade datorkonfigurationstilldelningar

Du måste manuellt ta bort maskinkonfigurationstilldelningar som skapats via någon manuell metod (till exempel en distribution av Azure Resource Manager-mall). Om du tar bort den överordnade resursen (virtuell dator eller Arc-aktiverad dator) tas även datorkonfigurationstilldelningen bort.

Om du vill ta bort en datorkonfigurationstilldelning manuellt använder du följande exempel. Ersätt alla exempelsträngar som anges med <> hakparenteser.

# First get details about the machine configuration assignment
$resourceDetails = @{
  ResourceGroupName = '<resource-group-name>'
  ResourceType      = 'Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments/'
  ResourceName      = '<vm-name>/Microsoft.GuestConfiguration'
  ApiVersion        = '2020-06-25'
}
$guestAssignment = Get-AzResource @resourceDetails

# Review details of the machine configuration assignment
$guestAssignment

# After reviewing properties of $guestAssignment to confirm
$guestAssignment | Remove-AzResource

Nästa steg