使用Microsoft Sentinel triggerRuleRun API触发规则时ExecutionTimeUtc始终无效
Microsoft Sentinel triggerRuleRun API调用失败:ExecutionTimeUtc字段无效
我们尝试使用triggerRuleRun API手动触发Microsoft Sentinel计划分析规则,但持续收到400错误:
{ "errors": { "Properties.ExecutionTimeUtc": [ "The field ExecutionTimeUtc is invalid." ] }, "status": 400 }
即使使用符合ISO 8601标准的时间戳格式,API仍拒绝接受ExecutionTimeUtc参数。
所用API请求详情
- 请求端点:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/triggerRuleRun?api-version=2025-01-01-preview
- 请求体:
{ "properties": { "executionTimeUtc": "2025-02-19T05:17:49Z" } }
- 请求头:
Authorization: Bearer <Valid-Token> Content-Type: application/json
完全遵循官方文档操作,但调用始终失败。
已尝试的排查步骤
- 测试多种时间戳格式:包括
"2025-02-19T05:17:49Z"、"2025-02-19T05:17:49.000Z"、"2025-02-19T05:17:49.970379Z",同时尝试过去和未来的时间,均无效。 - 切换多个API版本:
2025-01-01-preview、2023-12-01-preview、2023-10-01-preview,所有版本报错一致。 - 检查规则状态:规则已启用且为计划类型,但Sentinel UI中无手动执行选项,怀疑是否支持手动触发。
- 验证权限:拥有Microsoft Sentinel Contributor角色,身份验证对其他Sentinel API有效。
- 更换测试工具:用Python替代Postman测试,仍返回400 Bad Request。
核心疑问
- Sentinel是否允许通过API手动触发计划规则?若允许,如何启用?官方文档未提及启用方式。
ExecutionTimeUtc是否存在未公开的限制?比如必须是过去的时间、特定格式要求?- 规则是否需要设置
triggerOnDemand: true?该字段无文档记录,如何确认规则是否支持按需执行?
解决方案与说明
1. 计划规则是否支持手动触发?
并非所有计划分析规则都支持按需触发:
- 仅当规则的
triggerOnDemand属性为true时,才能通过triggerRuleRunAPI手动触发。大部分自定义计划规则默认不支持该能力,部分微软预建规则(如ML行为分析类规则)可能默认开启。 - 自行创建的计划规则无法手动启用
triggerOnDemand,该属性由规则类型决定。
2. ExecutionTimeUtc的问题排查
你遇到的错误大概率是请求体参数大小写不匹配导致的:
- 官方API要求的参数名是
ExecutionTimeUtc(首字母大写),但你的请求体中使用的是小写开头的executionTimeUtc,这会导致API无法识别参数,进而返回字段无效错误。 - 额外限制:该参数必须是过去的时间,且时间范围需在规则配置的查询回溯窗口内(比如规则设置查询过去1小时数据,那么
ExecutionTimeUtc不能早于当前时间-1小时)。
3. 如何检查规则是否支持按需执行?
通过GET请求获取规则详情,查看properties.triggerOnDemand字段的值:
- 请求端点:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}?api-version=2025-01-01-preview
- 若返回结果中
properties.triggerOnDemand为true,则规则支持按需触发;若为false或不存在该字段,则无法通过API手动触发。
内容的提问来源于stack exchange,提问作者imaprog
相关产品推荐
相关产品推荐

