Partilhar via


Como criar uma atribuição de configuração de máquina usando o Terraform

Você pode usar o Terraform para implantar atribuições de configuração de máquina.

Importante

O provedor Terraform azurerm_policy_virtual_machine_configuration_assignment não foi atualizado para dar suporte à propriedade assignmentType, portanto, apenas as configurações que executam auditorias são suportadas.

Atribuir uma configuração personalizada

O exemplo a seguir atribui uma configuração personalizada.

Substitua os seguintes campos "<>" por valores específicos do seu ambiente:

  • <configuration_name>: Especifique o nome da configuração a ser aplicada.
  • <Url_to_Package.zip>: Especifique um link HTTPS para o .zip arquivo para seu pacote de conteúdo personalizado.
  • <SHA256_hash_of_package.zip>: Especifique o hash SHA256 do .zip arquivo para seu pacote de conteúdo personalizado.
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
  }
}

Atribuir uma configuração interna

O exemplo a seguir atribui a AzureWindowBaseline configuração interna.

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"
    }
  }
}