Ressourcen für die Zuweisung der Computerkonfiguration verstehen

Wenn eine Azure Policy-Richtlinie zugewiesen ist, enthält die Kategorie Guest Configuration Metadaten, die eine Gastzuweisung beschreiben.

Für dieses Dokument ist ein Video zur exemplarischen Vorgehensweise verfügbar.

Sie können sich eine Gastzuweisung als Verknüpfung zwischen einem Computer und einem Azure Policy-Szenario vorstellen. Beispielsweise ordnet der folgende Codeausschnitt allen Computern im Geltungsbereich der Richtlinie die Azure Windows-Baselinekonfiguration mit der Mindestversion 1.0.0 zu.

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

Verwenden von Zuweisungen der Computerkonfiguration durch Azure Policy

Die Metadateninformationen werden vom Dienst „Computerkonfiguration“ verwendet, um automatisch eine Überprüfungsressource für Definitionen mit den Richtlinienauswirkungen AuditIfNotExists oder DeployIfNotExists zu erstellen. Der Ressourcentyp lautet Microsoft.GuestConfiguration/guestConfigurationAssignments. Azure Policy verwendet die complianceStatus-Eigenschaft der Gastzuweisungsressource, um den Konformitätsstatus zu melden. Weitere Informationen finden Sie unter Abrufen von Konformitätsdaten.

Löschen von Gastzuweisungen aus Azure Policy

Wenn eine Azure Policy-Zuweisung gelöscht wird und eine Computerkonfigurationszuweisung durch die Richtlinie erstellt wurde, wird die Computerkonfigurationszuweisung ebenfalls gelöscht.

Wenn eine Azure Policy-Zuweisung aus einer Initiative gelöscht wird, müssen Sie alle durch die Richtlinie erstellten Computerkonfigurationszuweisungen manuell löschen. Navigieren Sie dazu im Azure-Portal zur Seite „Gastzuweisungen“, und löschen Sie dort die Zuweisung.

Manuelles Erstellen von Zuweisungen der Computerkonfiguration

Sie können Gastzuweisungsressourcen in Azure Resource Manager mithilfe von Azure Policy oder einem beliebigen Client SDK erstellen.

Beispiel für eine Bereitstellungsvorlage:

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

In der folgenden Tabelle werden die einzelnen Eigenschaften von Gastzuweisungsressourcen beschrieben.

Eigenschaft Beschreibung
name Name der Konfiguration in der MOF-Inhaltspaketdatei.
contentUri HTTPS-URI-Pfad zum Inhaltspaket (.zip).
contentHash Ein SHA256-Hashwert des Inhaltspakets, der verwendet wird, um sicherzustellen, dass es sich nicht geändert hat.
version Version des Inhaltspakets. Wird nur für integrierte Pakete und nicht für benutzerdefinierte Inhaltspakete verwendet.
assignmentType Verhalten der Zuweisung. Zulässige Werte: Audit, ApplyandMonitor und ApplyandAutoCorrect.
configurationParameter Liste der DSC-Ressourcentypen, -namen und -werte in der MOF-Inhaltspaketdatei, die nach dem Herunterladen auf dem Computer überschrieben werden soll.

Löschen von manuell erstellten Zuweisungen der Computerkonfiguration

Computerkonfigurationszuweisungen, die manuell (z. B. durch Bereitstellung einer Azure Resource Manager-Vorlage) erstellt wurden, müssen manuell gelöscht werden. Beim Löschen der übergeordneten Ressource (virtueller oder Arc-fähiger Computer) wird auch die Computerkonfigurationszuweisung gelöscht.

Verwenden Sie das folgende Beispiel, um eine Zuweisung der Computerkonfiguration manuell zu löschen. Stellen Sie sicher, dass Sie alle Beispielzeichenfolgen in <>-Klammern ersetzen.

# 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ächste Schritte