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

从存储库部署自定义内容(公共预览版)

创建自定义内容时,可以在自己的 Microsoft Sentinel 工作区或外部源代码管理存储库中管理它。 本文介绍如何创建和管理 Microsoft Sentine 与 GitHub 或 Azure DevOps 存储库之间的连接。 通过管理外部存储库中的内容,可以对 Microsoft Sentinel 外部的内容进行更新,并自动将其部署到工作区。 有关详细信息,请参阅使用存储库连接更新自定义内容

重要

先决条件和范围

Microsoft Sentinel 目前仅支持与 GitHub 和 Azure DevOps 存储库的连接。 在将 Microsoft Sentinel 工作区连接到源代码管理存储库之前,请确保符合以下条件:

  • 资源组中的“所有者”角色,该资源组包含包含 Microsoft Sentinel 工作区,或者用于创建连接的“用户访问管理员”和“Sentinel 参与者”角色的组合
  • 协作者对 GitHub 存储库的访问权限或项目管理员对 Azure DevOps 存储库的访问权限
  • 分别为 GitHub 和 Azure DevOps 启用了操作和管道
  • 通过为 Azure DevOps 应用程序连接策略启用的 OAuth 进行的第三方应用程序访问。
  • 确保要部署到工作区的自定义内容文件位于相关的 Azure 资源管理器 (ARM) 模板中。

有关详细信息,请参阅验证内容

连接存储库

此过程介绍如何将 GitHub 或 Azure DevOps 存储库连接到 Microsoft Sentinel 工作区。

每个连接都可以支持多种类型的自定义内容,这些内容类型包括分析规则、自动化规则、搜寻查询、分析器、playbook 和工作簿。 有关详细信息,请参阅关于 Microsoft Sentinel 内容和解决方案

不能在单个 Microsoft Sentinel 工作区中使用相同的存储库和分支创建重复的连接。

创建连接

  1. 确保已使用要用于连接的凭据登录源代码管理应用。 如果当前使用不同的凭据登录,请先进行注销。

  2. 对于 Azure 门户中的 Microsoft Sentinel,在“内容管理”下,选择“存储库”
    对于 Defender 门户中的 Microsoft Sentinel,请选择“Microsoft Sentinel”>“内容管理”>“存储库”

  3. 选择“添加新连接”,然后在“创建新部署连接”页上,为连接输入有意义的名称和说明

  4. 从“源代码管理”下拉列表中,选择要连接到的存储库类型,然后选择“授权” 。

  5. 根据连接类型选择以下选项卡之一:

    1. 系统出现提示时,输入 GitHub 凭据。

      首次添加连接时,系统会提示对 Microsoft Sentinel 的连接进行授权。 如果已在同一浏览器中登录 GitHub 帐户,系统会自动填充 GitHub 凭据。

    2. 现在,“创建新部署连接”页上会显示“存储库”区域,可在其中选择要连接的现有存储库。 从列表中选择存储库,然后选择“添加存储库”。

      首次连接到特定存储库时,会看到新的浏览器窗口或选项卡,提示在存储库中安装 Azure-Sentinel 应用。 如果有多个存储库,请选择要安装 Azure-Sentinel 应用的存储库,然后进行安装。

      系统会定向到 GitHub 以便继续安装应用。

    3. 在存储库中安装 Azure-Sentinel 应用后,“创建新部署连接”页中的“分支”下拉列表中会填充分支。 选择要连接到 Microsoft Sentinel 工作区的分支。

    4. 从“内容类型”下拉列表中,选择要部署的内容类型

      • 分析器和搜寻查询都使用“保存的搜索”API 将内容部署到 Microsoft Sentinel。 如果选择其中一种内容类型,并且分支中也有其他类型的内容,则会部署这两种内容类型。

      • 对于所有其他内容类型,在“创建新部署连接”窗格中选择内容类型只会将该内容部署到 Microsoft Sentinel。 不会部署其他类型的内容。

    5. 选择“创建”以创建连接。 例如:

      新 GitHub 存储库连接的屏幕截图。

创建连接后,会在存储库中生成一个新的工作流或管道。 存储库中存储的内容会部署到 Microsoft Sentinel 工作区。

部署时间可能因要部署的内容量而有所不同。

查看部署状态

在 GitHub 中:在存储库的“操作”选项卡上,选择工作流 .yaml 文件,以访问详细的部署日志和任何特定的错误消息

在 Azure DevOps 中:从存储库的“管道”选项卡查看部署状态

部署完成后:

  • 存储库中存储的内容会显示在 Microsoft Sentinel 工作区的相关 Microsoft Sentinel 页中。

  • “存储库”页上的连接详细信息会更新,包含连接的部署日志的链接以及上次部署的状态和时间。 例如:

    GitHub 存储库连接的部署日志的屏幕截图。

默认工作流仅部署自上次部署以来根据提交到存储库而修改的内容。 但建议关闭智能部署或执行其他自定义。 例如,你可以配置不同的部署触发器,或专门从特定根文件夹部署内容。 若要了解详细信息,请参阅自定义存储库部署

编辑内容

成功创建到源代码管理存储库的连接时,你的内容将部署到 Sentinel。 我们建议“仅”在存储库中编辑存储在已连接存储库中的任何内容,而不要在 Microsoft Sentinel 中进行编辑。 例如,若要更改分析规则,请直接在 GitHub 或 Azure DevOps 中进行更改。

如果已在 Microsoft Sentinel 中编辑内容,请确保将其导出到源代码管理存储库,以防止下次将存储库内容部署到工作区时会覆盖所做的更改。

删除内容

从存储库中删除内容不会将其从 Microsoft Sentinel 工作区中删除。 如果要删除通过存储库部署的内容,请将其从存储库和 Microsoft Sentinel 中删除。 例如,根据源名称为内容设置筛选器,以便更轻松地识别存储库中的内容。

该屏幕截图显示了根据存储库的源名称筛选分析规则

删除存储库连接

本过程介绍如何从 Microsoft Sentinel 中删除与源代码管理存储库的连接。

删除连接:

  1. 在 Microsoft Sentinel 中的“内容管理”下,选择“存储库”
  2. 在网格中,选择要删除的连接,然后选择“删除”。
  3. 选择“是”确认删除。

删除连接后,以前通过该连接部署的内容会保留在 Microsoft Sentinel 工作区中。 系统不会部署删除连接后添加到存储库中的内容。

如果在删除连接时遇到问题或错误消息,建议检查源代码管理。 确认已删除与连接关联的 GitHub 工作流或 Azure DevOps 管道。

从 GitHub 存储库中删除 Microsoft Sentinel 应用

如果要从 GitHub 存储库中删除 Microsoft Sentinel 应用,建议首先从 Microsoft Sentinel“存储库”页中删除所有关联的连接。

每个 Microsoft Sentinel 应用安装都有一个唯一 ID,在添加和删除连接时都需要使用该 ID。 如果 ID 缺失或已更改,请从 Microsoft Sentinel“存储库”页中删除连接,并手动从 GitHub 存储库中删除工作流,以防止将来部署任何内容

后续步骤

在 Microsoft Sentinel 中以与使用现成内容相同的方式使用自定义内容。

有关详细信息,请参阅: