Поделиться через


Создание назначения конфигурации компьютера с помощью Terraform

Для развертывания назначений конфигурации компьютера можно использовать Terraform.

Внимание

Поставщик Terraform azurerm_policy_virtual_machine_configuration_assignment не был обновлен для поддержки свойства assignmentType , поэтому поддерживаются только конфигурации, выполняющие аудит.

Назначение настраиваемой конфигурации

В следующем примере назначается пользовательская конфигурация.

Замените следующие поля "<>" значениями, характерными для вашей среды:

  • <configuration_name>: укажите имя применяемой конфигурации.
  • <Url_to_Package.zip>: укажите ссылку HTTPS на .zip файл для пользовательского пакета содержимого.
  • <SHA256_hash_of_package.zip>: укажите хэш SHA256 файла для пользовательского .zip пакета содержимого.
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
  }
}

Назначение встроенной конфигурации

В следующем примере назначается встроенная конфигурация 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"
    }
  }
}