Comprendre les ressources d’affectation de configuration de machine

Lorsqu’une instance de la Stratégie Azure est affectée, si elle se trouve dans la catégorie Guest Configuration, alors des métadonnées sont incluses pour décrire une affectation d’invité.

Un guide vidéo de ce document est disponible.

Vous pouvez considérer une affectation d’invité comme un lien entre une machine et un scénario de Stratégie Azure. Par exemple, l’extrait de code suivant associe la configuration de base Windows Azure avec une version minimale 1.0.0 à n’importe quel ordinateur dans l’étendue de la stratégie.

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

Comment la Stratégie Azure utilise-t-elle les affectations de la configuration de machine ?

Le service de configuration d'ordinateur utilise les information de métadonnée afin de créer automatiquement une ressource d’audit pour les définitions avec les effets de stratégie AuditIfNotExists ou DeployIfNotExists. Le type de ressource, est Microsoft.GuestConfiguration/guestConfigurationAssignments. La Stratégie Azure utilise la propriété complianceStatus de l’affectation de la ressource invité pour signaler l’état de conformité. Pour plus d’informations, consultez Obtention de données de conformité.

Suppression des affectations d’invités de la Stratégie Azure

Lors de la suppression d’une affectation de la Stratégie Azure, si la stratégie a créée une affectation de la configuration de machine, alors cette affectation de la configuration de machine est également supprimée.

Lorsqu’une affectation de Azure Policy est supprimée d’une initiative, vous devez supprimer manuellement toutes les affectations de configuration de machine créées par la stratégie. Pour ce faire, accédez à la page des affectations d’invités sur portail Azure et supprimez l’affectation.

Création manuelle des affectations de la configuration de machine

Les ressources de l’affectation invité dans le Gestionnaire de ressource Azure peuvent être créées par la Stratégie Azure ou n’importe quel kit de développement logiciel (SDK) client.

Exemple de modèle de déploiement :

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

Le tableau suivant décrit chaque propriété des ressources d’affectation de l’invité.

Propriété Description
name Nom de la configuration dans le fichier MOF du package de contenu.
contentUri Chemin d’accès de l’URI HTTPS au package de contenu (.zip).
contentHash Valeur de hachage SHA256 du package de contenu, utilisée pour vérifier qu’elle n’a pas changé.
version Version du package de contenu. Utilisé uniquement pour les packages intégrés et non utilisé pour les packages de contenu personnalisés.
assignmentType Comportement de l’affectation. Valeurs autorisées : Audit, ApplyandMonitor et ApplyandAutoCorrect.
configurationParameter Liste du type de ressource DSC, du nom et de la valeur dans le fichier MOF du package de contenu à remplacer après son téléchargement sur la machine.

Suppression des affectations de la configuration de machine créées manuellement

Vous devez supprimer manuellement les affectations de la configuration de machine créées par le biais d’une approche manuelle (par exemple, un déploiement de modèle du Gestionnaire de ressource Azure). La suppression de la ressource parente (machine virtuelle ou prenant en charge l’ARC) supprime également l’affectation de la configuration de machine.

Pour supprimer manuellement une affectation de la configuration de machine, utilisez l’exemple suivant. Veillez à remplacer tous les exemples de chaînes, indiqués par des guillemets <>.

# 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

Étapes suivantes