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

使用 Microsoft Sentinel 存储库管理自定义内容(公共预览版)

Microsoft Sentinel 存储库功能提供了用于将 Sentinel 内容作为代码部署和管理的中心体验。 存储库允许连接到外部源代码管理,以实现持续集成/持续交付 (CI/CD)。 这种自动化消除了跨工作区更新和部署自定义内容的手动流程的负担。 有关 Sentinel 内容的详细信息,请参阅关于 Microsoft Sentinel 内容和解决方案

重要

Microsoft Sentinel 存储库功能目前以预览版提供。 请参阅 Microsoft Azure 预览版的补充使用条款,了解适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。

计划存储库连接

Microsoft Sentinel 存储库需要仔细规划,以确保拥有从工作区连接到存储库的适当权限。 目前仅支持与具有参与者访问权限的 GitHub 和 Azure DevOps 存储库的连接。 Microsoft Sentinel 应用程序需要对存储库进行授权,并且分别为 GitHub 和 Azure DevOps 启用了操作和管道。

存储库在包含 Microsoft Sentinel 工作区的资源组中需要具有“所有者”角色。 需要此角色,才能在 Microsoft Sentinel 和源代码管理存储库之间创建连接。 如果你无法在自己的环境中使用“所有者”角色,可以改为结合使用“用户访问管理员”和“Sentinel 参与者”角色来创建连接。

如果你在公共存储库中找到内容,而你不是其中的参与者,则需要先将该内容放入你的存储库中。 可以为内容创建分支、将其导入或克隆到你具有参与者角色的存储库中来执行此操作。 然后,可以将存储库连接到 Sentinel 工作区。 有关详细信息,请参阅从存储库部署自定义内容

验证内容

可以通过存储库连接部署以下 Microsoft Sentinel 内容类型:

  • 分析规则
  • 自动化规则
  • 搜寻查询
  • 分析器
  • 攻略
  • 工作簿

提示

本文不介绍如何从头开始创建这些类型的内容。 有关详细信息,请参阅每种内容类型的相关 Microsoft Sentinel GitHub wiki

存储库内容需要存储为 ARM 模板。 存储库部署不会验证内容,只确认内容是否采用正确的 JSON 格式。

验证内容的第一步是在 Microsoft Sentinel 中进行测试。 还可以应用 Microsoft Sentinel GitHub 验证过程和工具来补充验证过程。

上面列出的每种内容类型的 ARM 模板中都提供了示例存储库。 存储库还演示如何使用存储库连接的高级功能。 有关详细信息,请参阅 Sentinel CICD 存储库示例

成功的存储库连接的屏幕截图。其中显示了 RepositoriesSampleContent。此屏幕截图是在示例从 SentinelCICD 存储库导入到 FourthCoffee 组织中的专用 GitHub 存储库之后截取的。

最大连接数和部署数

  • 每个 Microsoft Sentinel 工作区当前的连接数限制为五个存储库连接。

  • 每个 Azure 资源组在其部署历史记录中的部署数限制为 800 个部署。 如果资源组中具有大量的 ARM 模板部署,则可能会遇到 Deployment QuotaExceeded 错误。 有关详细信息,请参阅 Azure 资源管理器模板文档中的 DeploymentQuotaExceeded

使用智能部署提高性能

提示

为了确保智能部署在 GitHub 中正常工作,工作流必须对存储库具有读取和写入权限。 有关更多详细信息,请参阅管理存储库的 GitHub Actions 设置

智能部署功能是一种后端功能,对于已连接的存储库的内容文件,该功能通过主动跟踪对其所做的修改来提高性能。 它使用存储库的“.sentinel”文件夹中的 CSV 文件审核每个提交。 该工作流可避免重新部署自上次部署以来尚未修改的内容。 此过程可以提高部署性能,阻止篡改工作区中未更改的内容(例如重置分析规则的动态计划)。

新建的连接上将默认启用智能部署。 如果希望每次在触发部署时都部署所有源代码管理内容,而无论该内容是否已修改,则可以修改工作流来禁用智能部署。 有关详细信息,请参阅自定义工作流或管道

注意

此功能已于 2022 年 4 月 20 日在公共预览版中推出。 在此功能推出之前创建的连接将需要更新或重新创建,以便启用智能部署。

考虑部署自定义选项

使用 Microsoft Sentinel 存储库部署内容时,可以考虑许多自定义选项。

自定义工作流或管道

可能需要通过以下方式之一自定义工作流或管道:

  • 配置不同的部署触发器
  • 仅从给定工作区的特定根文件夹部署内容
  • 安排定期运行工作流
  • 将不同的工作流事件组合在一起
  • 关闭智能部署

这些自定义项在特定于工作流或管道的 .yml 文件中定义。 若要详细了解如何实现这些自定义项,请参阅自定义存储库部署

自定义部署

触发工作流或管道后,部署可支持以下方案:

  • 在部署其余存储库内容之前优先部署的内容
  • 从部署中排除内容
  • 指定 ARM 模板参数文件

可通过从工作流或管道调用的 PowerShell 部署脚本的功能来使用这些选项。 若要详细了解如何实现这些自定义操作,请参阅自定义存储库部署

后续步骤

获取有关部署 Microsoft Sentinel 存储库的更多示例和分步说明。