我正在尝试通过单击将多个内置的 azure 策略分配给我的 azure 环境。我怎样才能以更优雅的方式做到这一点?
我尝试了以下方法。
resource "azurerm_policy_assignment" "example" {
name = "test"
policy_definition_id = data.azurerm_policy_definition.example.id
scope = "/providers/Microsoft.Management/managementGroups/MyManagementGroup"
}
如何传递多个定义策略定义 ID?任何提示将不胜感激。
答案 0 :(得分:0)
您可以将其分解为子模块,使用父模块调用单独的子模块,这样您就可以reuse
/mix-n-match
等。例如假设每个子模块仅管理 1 种资源类型,例如 /modules/policy-definitions
管理 Azure_RM 策略定义。
现在,父模块调用所有子模块,如果子模块需要,我们可以在此处设置输入变量值。
这是调用 /modules/MyPolicy-assignments
并为 4 个输入变量设置这些值的父模块。
module "policy_assignments" {
source = "./modules/MyPolicy-assignments"
tag_governance_policyset_id = "${module.policyset_definitions.assetTag_governance_policyset_id}"
iam_governance_policyset_id = "${module.policyset_definitions.iam_governance_policyset_id}"
security_governance_policyset_id = "${module.policyset_definitions.security_governance_policyset_id}"
data_protection_governance_policyset_id = "${module.policyset_definitions.data_protection_governance_policyset_id}"
AD... = "${module.policyset_definitions.AD...}"
}