Set-AzFirewallPolicyRuleCollectionGroup 保存多个Rule Collection

使用Azure Powershell 设置 Rule Collection Group, 首先需要创建 Firewall policy。

在创建完firewall policy后,通过Azure Portal页面添加 Rule Collection Group。

然后就可以使用 Set-AzFirewallPolicyRuleCollectionGroup命令在Firewall policy中添加Rule Collection Group了。

以下是一个简单例子,通过Azure Powershell在Rule Collection Group中添加Rule Collection和Rules。

$resourceGroup = "test_rg"

fprg = resourceGroup

targetfp = Get-AzFirewallPolicy -Name "testFWpolicy" -ResourceGroupName fprg //获取Firewall Policy对象

targetrcg = Get-AzFirewallPolicyRuleCollectionGroup -AzureFirewallPolicyName "vincentFWpolicy" -Name "network-segmentation-local" -ResourceGroupName resourceGroup //获取Rule Collection Group对象

$rules = @()

$RuleParameter = @{

Name = "net-pde-to-external-prod-allowasdfajsdlflklkajlkfd"

Protocol = "Any"

sourceAddress = "*"

DestinationAddress = "*"

DestinationPort = "*"

}

$rule = New-AzFirewallPolicyNetworkRule @RuleParameter

$NetworkRuleCollection = @{

Name = "src-azure-network-rules-segmentation-allow"

Priority = "666"

ActionType = "Allow"

Rule = rules += rule

} //在第一个Rule Collection中添加Rule

$NetworkRuleCategoryCollection = New-AzFirewallPolicyFilterRuleCollection @NetworkRuleCollection

$rules = @()

$RuleParameter = @{

Name = "net-pde-to-external-prod-allow-all2"

Protocol = "Any"

sourceAddress = "*"

DestinationAddress = "*"

DestinationPort = "*"

}

$rule = New-AzFirewallPolicyNetworkRule @RuleParameter

$NetworkRuleCollection2 = @{

Name = "src-azure-network-rules-segmentation-allowasdfasdf2"

Priority = "888"

ActionType = "Allow"

Rule = rules += rule

} //在第二个Rule Collection中添加Rule

$NetworkRuleCategoryCollection2 = New-AzFirewallPolicyFilterRuleCollection @NetworkRuleCollection2

//将以上创建的两个Rule Collection加入Rule Collection Group对象

targetrcg.Properties.RuleCollection.Add(NetworkRuleCategoryCollection)

targetrcg.Properties.RuleCollection.Add(NetworkRuleCategoryCollection2)

//设置保存Rule Collection Group并使其生效

Set-AzFirewallPolicyRuleCollectionGroup -FirewallPolicyName testFWpolicy -Name targetrcg.Name -Priority 112 -ResourceGroupName test_rg -RuleCollection targetrcg.Properties.RuleCollection

需要注意的问题:

Set-AzFirewallPolicyRuleCollectionGroup这个命令执行的是Overwrite操作,它会保存命令中的多个Rule Collection。同时会覆盖掉之前的配置,如果保存之前在Rule Collection Group中存在其他的Rule Collection,那么这些没有在命令中被写入的Rule Collection就会被擦除。所以如果想一次在Rule Collection Group中设置多个Rule Collection。需要在参数中指定多个Rule Collection的数组。

参考文档:

Set-AzFirewallPolicyRuleCollectionGroup (Az.Network) | Microsoft Learn

相关推荐
编码者卢布5 小时前
【Azure Container App】使用 yaml 部署 Container App 时遇见 400 Bad Request 错误
microsoft·azure
Leinwin2 天前
微软与OpenAI合作松绑:企业如何选择合规、稳定的AI服务?
microsoft·azure
宝桥南山9 天前
Azure - 尝试一下使用Azure Developer CLI去部署应用程序
microsoft·ai·微软·c#·aigc·azure
winfield82111 天前
Azure Subscription 概念解析
azure
Azure DevOps13 天前
Azure DevOps Server:2026年4月份补丁(安装详细步骤)
运维·microsoft·azure·devops
编码者卢布16 天前
【Azure Developer】IIS w3wp.exe 的 -m 参数:一个未被记录的管道模式标识
microsoft·flask·azure
编码者卢布17 天前
【Azure App Service】PHP页面上传文件413错误的解决方案
microsoft·php·azure
weixin_3077791323 天前
使用COPY INTO从S3导入CSV文件到Azure Synapse Dedicated SQL Pool表的问题分析与自动化验证方案
sql·自动化·azure
diablobaal23 天前
云计算学习100天-第102天-Azure入门4
学习·云计算·azure
Elastic 中国社区官方博客23 天前
将 Logstash 管道从 Azure Event Hubs 迁移到 Kafka 输入插件
大数据·数据库·elasticsearch·microsoft·搜索引擎·kafka·azure