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