你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何使用 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"
    }
  }
}