共用方式為


如何使用 Terraform 建立機器設定指派

您可以使用 Terraform (英文) 來部署機器設定指派。

重要

Terraform 提供者 azurerm_policy_virtual_machine_configuration_assignment (英文) 尚未更新來支援 assignmentType 屬性,因此僅支援執行稽核的設定。

指派自訂設定

下列範例會指派自訂設定。

將下列 "<>" 欄位取代為您環境特定的值:

  • <configuration_name>:指定要套用的設定名稱。
  • <Url_to_Package.zip>:指定自訂內容套件的 .zip 檔案 HTTPS 連結。
  • <SHA256_hash_of_package.zip>:指定自訂內容套件的 .zip 檔案 SHA256 雜湊。
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"
    }
  }
}