Compartilhar via


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

Você pode usar o Terraform para implantar as atribuições de configuração de computador.

Importante

O provedor do Terraformazurerm_policy_virtual_machine_configuration_assignment não foi atualizado para permitir a propriedade assignmentType, por isso, apenas as configurações que executam auditorias têm suporte.

Atribuir uma configuração personalizada

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

Substitua os campos “<>” a seguir por valores específicos ao seu ambiente:

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