Partager via


Comment créer une affectation de configuration d’ordinateur en utilisant Terraform

Vous pouvez utiliser Terraform pour déployer des affectations de configuration de machine.

Important

Le fournisseur Terraform azurerm_policy_virtual_machine_configuration_assignment n’a pas été mis à jour pour prendre en charge la propriété assignmentType, par conséquent seules les configurations qui réalisent des audits sont prises en charge.

Attribuer une configuration personnalisée

L’exemple suivant attribue une configuration personnalisée.

Remplacez les champs « <> » suivants par les valeurs propres à votre environnement :

  • <configuration_name>: spécifiez le nom de la configuration à appliquer.
  • <Url_to_Package.zip>: spécifiez un lien HTTPS vers le fichier .zip pour votre package de contenu personnalisé.
  • <SHA256_hash_of_package.zip>: spécifiez le hachage SHA256 du fichier .zip pour votre package de contenu personnalisé.
resource "azurerm_virtual_machine_configuration_policy_assignment" "<configuration_name>" {
  name               = "<configuration_name>"
  location           = azurerm_windows_virtual_machine.example.location
  virtual_machine_id = azurerm_windows_virtual_machine.example.id
  configuration {
    name            = "<configuration_name>"
    contentUri      =  '<Url_to_Package.zip>'
    contentHash     =  '<SHA256_hash_of_package.zip>'
    version         = "1.*"
    assignmentType  = "ApplyAndMonitor
  }
}

Attribuer une configuration intégrée

L’exemple suivant attribue la configuration personnalisée AzureWindowBaseline.

resource "azurerm_virtual_machine_configuration_policy_assignment" "AzureWindowsBaseline" {
  name               = "AzureWindowsBaseline"
  location           = azurerm_windows_virtual_machine.example.location
  virtual_machine_id = azurerm_windows_virtual_machine.example.id
  configuration {
    name    = "AzureWindowsBaseline"
    version = "1.*"
    parameter {
      name  = "Minimum Password Length;ExpectedValue"
      value = "16"
    }
    parameter {
      name  = "Minimum Password Length;RemediateValue"
      value = "16"
    }
    parameter {
      name  = "Minimum Password Age;ExpectedValue"
      value = "75"
    }
    parameter {
      name  = "Minimum Password Age;RemediateValue"
      value = "75"
    }
  }
}