如何通过PowerShell脚本将Microsoft Sentinel新自动化规则映射到特定分析规则
解决方案
要创建仅由特定分析规则触发的Microsoft Sentinel自动化规则,核心是指定触发逻辑中的分析规则ID,而非直接使用名称。默认不指定触发条件时,自动化规则会响应所有分析规则,以下是具体操作步骤:
获取目标分析规则的Resource ID
自动化规则的触发条件依赖分析规则的唯一ID,而非显示名称。先用PowerShell查询目标规则的ID:# 替换为你的目标分析规则名称 $targetAlertRuleName = "目标分析规则名称" $targetAlertRule = Get-AzSentinelAlertRule -ResourceGroupName $resourceGroupNameSentinel -WorkspaceName $WorkspaceName | Where-Object { $_.DisplayName -eq $targetAlertRuleName } $targetAlertRuleId = $targetAlertRule.Id构造触发逻辑参数
创建包含指定分析规则ID的触发条件对象:$triggeringCondition = @{ ConditionType = "AlertRuleId" Operator = "Equals" Value = $targetAlertRuleId } $triggeringLogic = @{ IsEnabled = $true TriggeringConditions = @($triggeringCondition) }创建自动化规则
将构造好的TriggeringLogic参数传入创建命令,替换之前的-TriggeringLogicIsEnabled参数:New-AzSentinelAutomationRule ` -ResourceGroupName $resourceGroupNameSentinel ` -WorkspaceName $WorkspaceName ` -Action $automationRuleAction ` -TriggeringLogic $triggeringLogic ` -DisplayName "AutomationRuleTest"
关键说明
- 不能直接通过分析规则名称指定触发条件,必须使用规则的完整Resource ID
- 若需要匹配多个分析规则,可在
TriggeringConditions数组中添加多个条件对象,支持And/Or逻辑组合(需设置TriggeringLogic中的ConditionKind参数)
内容的提问来源于stack exchange,提问作者kingliiis
相关产品推荐
相关产品推荐

