你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

用于创建自定义连接器Microsoft Sentinel资源

Microsoft Sentinel为Azure服务和外部解决方案提供了各种现成的连接器,还支持在没有专用连接器的情况下从某些源引入数据。

如果无法使用任何可用的现有解决方案将数据源连接到Microsoft Sentinel,请考虑创建自己的数据源连接器。

有关支持的连接器的完整列表,请参阅查找Microsoft Sentinel数据连接器)

比较自定义连接器方法

下表比较了本文所述的用于创建自定义连接器的每种方法的基本详细信息。 有关每个方法的更多详细信息,请选择表中的链接。

方法说明 功能 无服务器 复杂性
无代码连接器框架 (CCF)
最适合技术较少的受众使用配置文件而不是高级开发创建 SaaS 连接器。
支持代码提供的所有功能。 低;简单无代码开发
Azure Monitor 代理
最适合从本地和 IaaS 源收集文件
文件收集、数据转换
Logstash
最适合本地和 IaaS 源、提供插件的任何源以及已经熟悉 Logstash 的组织
支持 Azure Monitor 代理的所有功能 不;需要 VM 或 VM 群集才能运行 低;支持使用插件的许多方案
逻辑应用
高成本;避免高容量数据
最适合低容量云源
无代码编程允许有限的灵活性,不支持实现算法。

如果没有可用的操作已经支持你的要求,创建自定义操作可能会增加复杂性。
低;简单无代码开发
Azure Monitor 中的日志引入 API
最适合用于实现集成的 ISV 和独特的收集要求
支持代码提供的所有功能。 取决于实现
Azure Functions
最适合高容量云源和独特的收集要求
支持代码提供的所有功能。 高;需要编程知识

提示

有关对同一连接器使用逻辑应用和Azure Functions的比较,请参阅:

使用无代码连接器框架进行连接

无代码连接器框架 (CCF) 提供了可供客户和合作伙伴使用的配置文件,然后将其部署到自己的工作区,或作为Microsoft Sentinel内容中心的解决方案。

使用 CCF 创建的连接器完全是 SaaS,没有任何服务安装要求,还包括Microsoft Sentinel的运行状况监视和完全支持。

有关详细信息,请参阅为Microsoft Sentinel创建无代码连接器

使用 Azure Monitor 代理进行连接

如果数据源在文本文件中传递事件,建议使用 Azure Monitor 代理创建自定义连接器。

使用 Logstash 进行连接

如果熟悉 Logstash,可能需要将 Logstash 与 Logstash 输出插件配合使用,以便Microsoft Sentinel创建自定义连接器。

使用 Microsoft Sentinel Logstash 输出插件,可以使用任何 Logstash 输入和筛选插件,并将 Microsoft Sentinel 配置为 Logstash 管道的输出。 Logstash 具有一个大型插件库,这些插件库支持来自各种源的输入,例如事件中心、Apache Kafka、Files、数据库和云服务。 使用筛选插件分析事件、筛选不必要的事件、模糊处理值等。

有关使用 Logstash 作为自定义连接器的示例,请参阅:

有关有用的 Logstash 插件的示例,请参阅:

提示

Logstash 还支持使用群集进行缩放数据收集。 有关详细信息,请参阅 大规模使用负载均衡的 Logstash VM

使用逻辑应用进行连接

使用Azure逻辑应用创建用于Microsoft Sentinel的无服务器自定义连接器。

注意

虽然使用逻辑应用创建无服务器连接器可能很方便,但对于大量数据,将逻辑应用用于连接器可能成本高昂。

建议仅对小批量数据源或扩充数据上传使用此方法。

  1. 使用以下触发器之一启动逻辑应用

    Trigger 说明
    定期任务 例如,将逻辑应用计划为定期从特定文件、数据库或外部 API 检索数据。
    有关详细信息,请参阅在Azure逻辑应用中创建、计划和运行重复任务和工作流
    按需触发 按需运行逻辑应用进行手动数据收集和测试。
    有关详细信息,请参阅 使用 HTTPS 终结点调用、触发或嵌套逻辑应用
    HTTP/S 终结点 建议用于流式处理以及源系统是否可以启动数据传输。
    有关详细信息,请参阅 通过 HTTP 或 HTTPS 调用服务终结点
  2. 使用读取信息的任何逻辑应用连接器来获取事件。 例如:

    提示

    REST API、SQL Server 和文件系统的自定义连接器还支持从本地数据源检索数据。 有关详细信息,请参阅 安装本地数据网关 文档。

  3. 准备要检索的信息

    例如,使用 分析 JSON 操作 访问 JSON 内容中的属性,使你能够在为逻辑应用指定输入时从动态内容列表中选择这些属性。

    有关详细信息,请参阅在 Azure 逻辑应用中执行数据操作

  4. 将数据写入 Log Analytics

    有关详细信息,请参阅 Azure Log Analytics 数据收集器文档。

有关如何使用逻辑应用为Microsoft Sentinel创建自定义连接器的示例,请参阅:

使用日志引入 API 进行连接

可以使用 Log Analytics 数据收集器 API 直接调用 RESTful 终结点,将事件流式传输到Microsoft Sentinel。

虽然直接调用 RESTful 终结点需要更多的编程,但它也提供了更大的灵活性。

有关详细信息,请参阅以下文章:

使用 Azure Functions 进行连接

将 Azure Functions与 RESTful API 和各种编码语言(如 PowerShell)结合使用,以创建无服务器自定义连接器。

有关此方法的示例,请参阅:

分析自定义连接器数据

若要利用通过自定义连接器收集的数据, 请开发高级安全信息模型 (ASIM) 分析程序 来处理连接器。 使用 ASIM 可让Microsoft Sentinel的内置内容使用自定义数据,并使分析师能够更轻松地查询数据。

如果连接器方法允许,则可以在连接器中实现部分分析,以提高查询时间分析性能:

  • 如果已使用 Logstash,请使用 Grok 筛选器插件来分析数据。
  • 如果已使用 Azure 函数,请使用代码分析数据。

你仍需要实现 ASIM 分析程序,但直接使用连接器实现部分分析可简化分析并提高性能。

后续步骤

使用引入到 Microsoft Sentinel 中的数据通过以下任何过程来保护环境: