Omówienie zasobów przypisywania konfiguracji maszyny

Po przypisaniu usługi Azure Policy, jeśli znajduje się ona w kategorii Guest Configuration , znajdują się metadane uwzględnione w celu opisania przypisania gościa.

Dostępny jest przewodnik wideo dotyczący tego dokumentu.

Przypisanie gościa można traktować jako połączenie między maszyną a scenariuszem usługi Azure Policy. Na przykład poniższy fragment kodu kojarzy konfigurację punktu odniesienia platformy Azure z minimalną wersją 1.0.0 do wszystkich maszyn w zakresie zasad.

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

Jak usługa Azure Policy używa przypisań konfiguracji maszyny

Usługa konfiguracji maszyny używa informacji o metadanych, aby automatycznie utworzyć zasób inspekcji dla definicji z efektami AuditIfNotExists zasad lub DeployIfNotExists . Typ zasobu to Microsoft.GuestConfiguration/guestConfigurationAssignments. Usługa Azure Policy używa właściwości complianceStatus zasobu przypisania gościa w celu raportowania stanu zgodności. Aby uzyskać więcej informacji, zobacz pobieranie danych zgodności.

Usuwanie przypisań gości z usługi Azure Policy

Po usunięciu przypisania usługi Azure Policy, jeśli zasady utworzyły przypisanie konfiguracji maszyny, przypisanie konfiguracji maszyny również zostanie usunięte.

Po usunięciu przypisania usługi Azure Policy z inicjatywy należy ręcznie usunąć wszystkie utworzone przypisania konfiguracji maszyny. Możesz to zrobić, przechodząc do strony przypisań gościa w witrynie Azure Portal i usuwając tam przypisanie.

Ręczne tworzenie przypisań konfiguracji maszyny

Zasoby przypisania gościa można utworzyć w usłudze Azure Resource Manager przy użyciu usługi Azure Policy lub dowolnego zestawu SDK klienta.

Przykładowy szablon wdrożenia:

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

W poniższej tabeli opisano każdą właściwość zasobów przypisania gościa.

Właściwości Opis
name Nazwa konfiguracji wewnątrz pliku MOF pakietu zawartości.
contentUri Ścieżka identyfikatora URI HTTPS do pakietu zawartości (.zip).
contentHash Wartość skrótu SHA256 pakietu zawartości używana do sprawdzania, czy nie została zmieniona.
version Wersja pakietu zawartości. Używane tylko w przypadku wbudowanych pakietów i nie są używane w przypadku niestandardowych pakietów zawartości.
assignmentType Zachowanie przypisania. Dozwolone wartości: Audit, ApplyandMonitori ApplyandAutoCorrect.
configurationParameter Lista typów zasobów DSC, nazwy i wartości w pliku MOF pakietu zawartości, który ma zostać zastąpiony po pobraniu go na maszynie.

Usuwanie ręcznie utworzonych przypisań konfiguracji maszyny

Należy ręcznie usunąć przypisania konfiguracji maszyny utworzone za pomocą dowolnego podejścia ręcznego (takiego jak wdrożenie szablonu usługi Azure Resource Manager). Usunięcie zasobu nadrzędnego (maszyny wirtualnej lub maszyny z obsługą usługi Arc) powoduje również usunięcie przypisania konfiguracji maszyny.

Aby ręcznie usunąć przypisanie konfiguracji maszyny, użyj poniższego przykładu. Pamiętaj, aby zastąpić wszystkie przykładowe ciągi oznaczone <> nawiasami kwadratowymi.

# 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

Następne kroki