管理高级安全信息模型 (ASIM) 分析程序

重要

注意: 2026 年 8 月 18 日,根据 世纪互联发布的公告,所有Microsoft Sentinel 功能将在中国 Azure 正式停用。

高级安全信息模型 (ASIM) 用户在查询中使用统一的分析程序而不是表名,从而以规范化的格式查看数据,并在单个查询中获取与架构相关的所有数据。 每个统一的分析程序使用多个特定于源的分析程序来处理每个源的特定详细信息。

若要了解分析程序如何适用于 ASIM 体系结构,请参阅 ASIM 体系结构图

你可能需要管理每个统一的分析程序所使用的特定于源的分析程序,以执行以下操作:

  • 将自定义的、特定于源的分析程序添加到统一的分析程序。

  • 将统一的分析程序所使用的内置的、特定于源的分析程序替换为自定义的、特定于源的分析程序。 如果要执行以下操作,请替换内置的分析程序:

    • 使用其他版本的内置的分析程序(非统一的分析程序中所默认使用的版本)。

    • 保留统一的分析程序所使用的特定于源的分析程序的版本,以防止自动更新。

    • 使用内置分析程序的修改版本。

  • 配置特定于源的分析程序,例如定义发送与分析程序相关的信息的源。

本文将指导你管理解析器。

先决条件

本文中的过程假定所有特定于源的分析程序均已部署到 Microsoft Sentinel 工作区。

有关详细信息,请参阅开发 ASIM 分析程序

管理内置的统一的分析程序

设置工作区

Microsoft Sentinel 用户无法编辑内置的统一的分析程序。 但可以使用以下机制来修改内置的统一的分析程序的行为:

  • 为支持添加特定于源的分析程序,ASIM 使用统一的自定义的分析程序。 这些自定义的分析程序是工作区部署的,因此是可编辑的。 内置的统一的分析程序可自动获取这些自定义的分析程序(如果存在)。

    你可以将初始的、空的、统一的自定义的分析程序部署到 Microsoft Sentinel 工作区,用于所有受支持的架构,也可以逐个部署,用于特定架构。 有关详细信息,请参阅 Microsoft Sentinel GitHub 存储库中的部署初始 ASIM 空自定义的统一的分析程序

  • 为支持排除内置的特定于源的分析程序,ASIM 使用了监视列表。 将监视列表从 Microsoft Sentinel GitHub 存储库部署到 Microsoft Sentinel 工作区。

  • 若要为内置和自定义分析程序定义源类型,ASIM 将使用监视列表。 将监视列表从 Microsoft Sentinel GitHub 存储库部署到 Microsoft Sentinel 工作区。

将自定义的分析程序添加到内置的统一的分析程序

若要添加自定义的分析程序,请在自定义的统一的分析程序中插入一行,以引用新的自定义的分析程序。

确保同时添加筛选自定义分析程序和无参数自定义分析程序。 若要详细了解如何编辑分析程序,请参阅文档 Azure Monitor 日志查询中的函数

对于每个架构来说,要添加的行的语法各有不同:

图式 解析 器 要添加的行
警报事件 Im_AlertEventCustom _parser_name_ (starttime, endtime, ipaddr_has_any_prefix, hostname_has_any, username_has_any, attacktactics_has_any, attacktechniques_has_any, threatcategory_has_any, alertverdict_has_any, eventseverity_has_any)
审计事件 Im_AuditEventCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any)
Authentication Im_AuthenticationCustom _parser_name_ (starttime, endtime, targetusername_has_any, actorusername_has_any, srcipaddr_has_any_prefix, srchostname_has_any, targetipaddr_has_any_prefix, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype_in, eventresultdetails_in, eventresult)
DhcpEvent Im_DhcpEventCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, srchostname_has_any, srcusername_has_any, eventresult)
Dns Im_DnsCustom _parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
FileEvent Im_FileEventCustom _parser_name_ (starttime, endtime, eventtype_in, srcipaddr_has_any_prefix, actorusername_has_any, targetfilepath_has_any, srcfilepath_has_any, hashes_has_any, dvchostname_has_any)
NetworkSession Im_NetworkSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, ipaddr_has_any_prefix, dstportnumber, hostname_has_any, dvcaction, eventresult)
ProcessEvent Im_ProcessEventCustom _parser_name_ (starttime, endtime, commandline_has_any, commandline_has_all, commandline_has_any_ip_prefix, actingprocess_has_any, targetprocess_has_any, parentprocess_has_any, targetusername_has, actorusername_has, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype)
RegistryEvent Im_RegistryEventCustom _parser_name_ (starttime, endtime, eventtype_in, actorusername_has_any, registrykey_has_any, registryvalue_has_any, registryvaluedata_has_any, dvchostname_has_any)
用户管理 Im_UserManagementCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, targetusername_has_any, actorusername_has_any, eventtype_in)
WebSession Im_WebSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, ipaddr_has_any_prefix, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult)

向已引用分析程序的统一的自定义的分析程序添加附加分析程序时,确保在上一行的末尾添加逗号。

例如,以下代码显示了添加 added_parser 后的自定义的统一的分析程序:

union isfuzzy=true
existing_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype),
added_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)

使用内置分析程序的修改版本

若要修改现有的、内置的特定于源的分析程序,请执行以下操作:

  1. 基于初始分析程序创建自定义分析程序并将其添加到内置分析程序。 可以使用 工作区已部署版本 的分析器作为起点。

  2. ASim Disabled Parsers 监视列表添加记录。

  3. CallerContext 值定义为 Exclude<parser name>,其中 <parser name> 是你要从中排除分析程序的统一分析程序的名称。

  4. 定义 SourceSpecificParserExclude<parser name>,其中 <parser name> 是你要排除的分析程序的名称,不带版本说明符。

例如,若要排除 Azure 防火墙 DNS 分析程序,请将以下记录添加到监视列表:

CallerContext SourceSpecificParser
Exclude_Im_Dns Exclude_Im_Dns_AzureFirewall

阻止自动更新内置分析程序

按照以下流程阻止内置的、特定于源的分析程序进行自动更新:

  1. 将要使用的内置分析程序版本(例如 _Im_Dns_AzureFirewallV02)添加到自定义的统一的分析程序。 有关详细信息,请参阅上文部分的将自定义的分析程序添加到内置的统一的分析程序

  2. 为内置分析程序添加例外。 例如,若要完全拒绝自动更新并因此排除大量内置分析程序,请添加以下内容:

  • Any 作为 SourceSpecificParser 字段的记录,以排除 CallerContext 的所有分析程序。
  • CallerContext 和 Any 字段中的 SourceSpecificParser 的记录,以排除所有内置分析程序。

有关详细信息,请参阅使用修改版的内置分析程序

配置与特定于源的分析程序相关的源

某些分析程序要求更新与分析程序相关的源列表。 例如,使用 Syslog 数据的分析程序可能无法确定哪些 Syslog 事件与分析程序相关。 此类分析器可使用 Sources_by_SourceType 监视列表来确定哪些源会发送与分析程序相关的信息。 对于这类分析,请将每个相关源的记录添加到监视列表:

  • SourceType 字段设置为分析程序文档中指定的分析程序特定值。
  • Source 字段设置为事件中使用的源的标识符。 你可能需要查询原始表(如 Syslog)来确定正确的值。

如果系统未部署Sources_by_SourceType监视列表,请将监视列表从 Microsoft Sentinel GitHub 存储库部署到 Microsoft Sentinel 工作区。

后续步骤

本文介绍如何管理高级安全信息模型 (ASIM) 分析程序。

了解有关 ASIM 分析程序的更多信息:

了解有关 ASIM 的大致信息: