Condividi tramite


Comprendere le risorse di assegnazione della configurazione della macchina

Quando viene assegnata una Azure Policy, se si trova nella categoria Guest Configuration sono inclusi metadati per descrivere un'assegnazione ospite.

È disponibile un video dimostrativo di questo documento.

È possibile considerare un'assegnazione guest come collegamento tra un computer e uno scenario di Criteri di Azure. Ad esempio, il frammento di codice seguente associa la configurazione Baseline di Windows di Azure alla versione minima 1.0.0 di qualsiasi computer incluso nell'ambito dei criteri.

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

Come Azure Policy usa le assegnazioni di configurazione della macchina

Il servizio di configurazione della macchina utilizza i metadati per creare automaticamente una risorsa di controllo per le definizioni con effetti di policy AuditIfNotExists o DeployIfNotExists. La risorsa è di tipo Microsoft.GuestConfiguration/guestConfigurationAssignments. Azure Policy utilizza la proprietà complianceStatus della risorsa di assegnazione ospite per riportare lo stato di conformità. Per altre informazioni, vedere Recupero dei dati di conformità.

Annotazioni

Quando si assegna un criterio personalizzato che distribuisce una configurazione guest, la proprietà assignmentType nella risorsa di assegnazione guest può essere temporaneamente visualizzata come "Null" prima di essere aggiornata per riflettere il valore specificato nella definizione dei criteri. Questo comportamento è previsto e in genere viene risolto entro un'ora.

Eliminazione delle assegnazioni di ospiti dai Criteri di Azure

Quando viene eliminata un'assegnazione di Criteri di Azure, se il criterio ha creato un'assegnazione di configurazione macchina, viene eliminata anche questa.

Quando un'assegnazione di Criteri di Azure viene eliminata da un'iniziativa, è necessario eliminare manualmente tutte le assegnazioni di configurazione macchina create dai criteri. È possibile farlo passando alla pagina delle assegnazioni ospite nel portale di Azure ed eliminando l'assegnazione.

Creazione manuale delle assegnazioni di configurazione del computer

È possibile creare risorse di assegnazione guest in Azure Resource Manager utilizzando Azure Policy o qualsiasi SDK cliente.

Modello di distribuzione di esempio:

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

Esempio di configurazioneParameter:

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

La tabella seguente descrive le proprietà di ciascuna risorsa per l'assegnazione degli ospiti.

Proprietà Description
nome Nome della configurazione all'interno del file MOF del pacchetto di contenuto.
contentUri Percorso URI HTTPS del pacchetto di contenuto (.zip).
contentHash Valore hash SHA256 del pacchetto di contenuto, usato per verificare che non sia stato modificato.
version Versione del pacchetto di contenuto. Usato solo per i pacchetti predefiniti e non usato per i pacchetti di contenuto personalizzati.
assignmentType Comportamento dell'assegnazione. Valori consentiti: Audit, ApplyandMonitor e ApplyandAutoCorrect.
configurationParameter Elenco di tipo di risorsa, nome e valore DSC nel file MOF del pacchetto di contenuto da sostituire dopo il download nel computer.

Eliminazione delle assegnazioni di configurazione della macchina create manualmente

È necessario eliminare manualmente le assegnazioni di configurazione del computer create tramite qualsiasi approccio manuale, ad esempio una distribuzione di modelli di Azure Resource Manager. L'eliminazione della risorsa padre (macchina virtuale o macchina abilitata per Arc) elimina anche l'assegnazione di configurazione del computer.

Per eliminare manualmente un'assegnazione di configurazione del computer, usare l'esempio seguente. Assicurarsi di sostituire tutte le stringhe di esempio, indicate da <> parentesi quadre.

# 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

Passaggi successivi