如何在Terraform AzureRm的同一Admin Rule中配置多个地址前缀
Azure虚拟网络管理器Admin Rule能否在单条规则中配置多个地址前缀?
可以在单条规则中配置多个地址前缀,但必须以Terraform列表(数组)形式传入,不能用逗号拼接成单个字符串。
你遇到的400错误是因为将多个地址前缀合并成了一个带逗号的字符串(如"1.1.1.1/1,2.2.2.2/2,3.3.3.3/3,4.4.4.4/4"),这种格式不符合Azure API对地址前缀的校验要求。
正确的配置方式是将每个地址前缀作为source_address_prefixes或destination_address_prefixes字段的独立列表元素:
resource "azurerm_network_manager_admin_rule" "avnm-security-admin-collection-rule" { name = "example" rule_collection_name = "example-rule-collection" security_admin_configuration_name = "ISD" network_manager_name = "AzureNetworkManager" resource_group_name = "resourceGroup-test" action = "Allow" # 可根据需求改为Deny direction = "Inbound" # 可根据需求改为Outbound protocol = "Tcp" # 可根据实际协议调整 source_address_prefixes = [ "1.1.1.1/1", "2.2.2.2/2", "3.3.3.3/3", "4.4.4.4/4" ] destination_address_prefixes = ["0.0.0.0/0"] # 示例目标前缀,可按需修改 source_port_ranges = ["*"] destination_port_ranges = ["80"] # 可根据业务需求调整端口范围 }
Azure Network Manager的Admin Rule原生支持单条规则配置多个源/目标地址前缀,只要遵循Terraform列表语法传入即可,每个前缀会被API独立解析和校验。
内容的提问来源于stack exchange,提问作者Dhar_
相关产品推荐
相关产品推荐

