Поделиться через


Управление содержимым в виде кода с помощью репозиториев Microsoft Sentinel (предварительная версия)

Репозитории Microsoft Sentinel позволяют развертывать и управлять пользовательским содержимым Sentinel из внешнего репозитория управления версиями для непрерывной интеграции и доставки (CI/CD). Эта автоматизация устраняет необходимость вручную обновлять и развертывать пользовательское содержимое в рабочих областях. Подмножество содержимого в виде кода определяется как код (DaC). Microsoft Sentinel Repositories также реализует DaC.

Дополнительные сведения см. в статье О содержимом и решениях Microsoft Sentinel.

Внимание

Функция Репозитории Microsoft Sentinel сейчас предоставляется в ПРЕДВАРИТЕЛЬНОЙ ВЕРСИИ. Дополнительные условия использования для предварительных версий Microsoft Azure см. в дополнительных юридических терминах, применимых к функциям Azure, которые находятся в бета-версии, предварительной версии или в противном случае еще не выпущены в общую доступность.

Как работают репозитории Microsoft Sentinel

Вы можете развернуть эти пользовательские типы контента Microsoft Sentinel из внешнего репозитория управления версиями, к которому вы подключаетесь из Microsoft Sentinel.

  • Правила аналитики
  • Правила автоматизации
  • Запросы охоты
  • Средства синтаксического анализа
  • Руководства
  • Рабочие тетради

Обновления, внесенные в содержимое репозиториев Microsoft Sentinel, синхронизируются с рабочей областью Microsoft Sentinel и перезаписывают любые изменения, внесенные через портал Microsoft Sentinel. Репозитории Microsoft Sentinel становятся вашим "одним источником истины" для пользовательского содержимого в подключенных рабочих областях.

Планирование подключения к репозиторию

Для работы с репозиториями Microsoft Sentinel требуются тщательное планирование, так как у вас должны быть надлежащие разрешения на доступ из вашей рабочей области к репозиторию, который вы хотите подключить.

  • Поддерживаются только подключения к репозиториям GitHub и Azure DevOps.
  • Для этого требуется доступ в ваш репозиторий на GitHub или администраторский доступ в ваш репозиторий на Azure DevOps.
  • Приложению Microsoft Sentinel требуется авторизация в репозитории.
  • Действия должны быть включены на GitHub.
  • Конвейеры должны быть включены для Azure DevOps.
  • Подключение Azure DevOps должно находиться в том же клиенте, что и рабочая область Microsoft Sentinel.

Для создания подключения к репозиторию требуется роль владельца в группе ресурсов, содержащей рабочую область Microsoft Sentinel. Если вы не можете использовать роль владельца в вашей среде, используйте сочетание ролей администратора доступа пользователей и участника Sentinel для создания подключения.

Если вы найдете содержимое в общедоступном репозитории, где вы не являетесь участником, сначала импортируйте, форкните или клонируйте это содержимое в репозиторий, где вы являетесь участником. Затем подключите репозиторий к рабочей области Microsoft Sentinel. Дополнительные сведения см. в статье Развертывание пользовательского содержимого из репозитория.

Максимальное число подключений и развертываний

  • Каждая рабочая область Microsoft Sentinel сейчас может иметь не более пяти подключений к репозиторию.
  • В журнале развертывания у каждой группы ресурсов Azure может быть не больше 800 развертываний. Если у вас большой объем развертываний шаблонов в одной или нескольких группах ресурсов, может возникнуть ошибка Deployment QuotaExceeded. Дополнительные сведения см. в разделе DeploymentQuotaExceeded в документации по шаблонам Azure Resource Manager.

Планирование содержимого репозитория

Репозитории Microsoft Sentinel поддерживают развертывание содержимого, сохраненного в виде файлов Bicep или шаблонов Azure Resource Manager (ARM). Мы рекомендуем использовать Bicep, что более интуитивно понятно и упрощает описание ресурсов Azure и содержимого Microsoft Sentinel.

Шаблон для каждого типа контента имеет определенную структуру и имя параметра, как описано в справочнике по шаблону ресурсов Sentinel. Примеры каждого типа контента см. в репозитории RepositoriesSampleContent.

Мы предоставили пример репозитория с шаблонами для каждого из перечисленных типов контента. В репозитории также показано, как использовать расширенные функции подключения к репозиторию. Дополнительные сведения см. в примере репозиториев CI/CD Microsoft Sentinel.

Снимок экрана: успешное подключение к репозиторию. Отображается RepositoriesSampleContent. Этот снимок экрана сделан после того, как пример был импортирован из репозитория Sentinel CICD в частный репозиторий GitHub в организации FourthCoffee.

Хотя вы можете создавать шаблоны с нуля, зачастую проще начинать с файлов YAML репозитория Sentinel public GitHub или из встроенного содержимого Microsoft Sentinel. В этой таблице описывается преобразование шаблона ARM для использования с репозиториями Microsoft Sentinel.

Тип контента Преобразуйте из Sentinel Public YAML Экспорт из Sentinel Справочник по шаблонам Примеры шаблонов
Правила аналитики Скрипт PowerShell Экспорт функции или скрипт PowerShell Справочные материалы Шаблоны Resource Manager
Правила автоматизации N/A Экспорт функций или сценариев PowerShell Справочные материалы N/A
Поиск запросов Скрипт PowerShell Команды Azure CLI Справочные материалы Пример содержимого
Парсеры Скрипт ASIM PowerShell Команды Azure CLI Справочные материалы Шаблоны
Плейбуки N/A Программа PowerShell Справочные материалы N/A
рабочие тетради N/A Экспорт рабочих книг в виде шаблонов ARM Справочные материалы N/A

Внимание

Рекомендации по Bicep:

  • Чтобы использовать файлы Bicep, необходимо обновить подключение репозиториев, если подключение было создано до 1 ноября 2024 г. Для обновления необходимо удалить и воссоздать подключения репозиториев.
  • Файлы Bicep не поддерживают свойство id. При декомпиляции JSON ARM в Bicep убедитесь, что в вашем коде нет этого свойства. Например, шаблоны правил аналитики, экспортированные из Microsoft Sentinel, имеют id свойство, которое требует удаления.
  • Измените схему JSON ARM на версию 2019-04-01 для получения наилучших результатов при декомпиляции.

Внимание

Правила аналитики, развернутые с помощью функции репозиториев Microsoft Sentinel, могут использовать запросы между рабочими областями, только если целевая рабочая область находится в той же группе ресурсов, что и рабочая область, подключенная к репозиторию.

Для получения информации о создании настраиваемого содержимого с нуля см. соответствующий вики-сайт Microsoft Sentinel GitHub для каждого типа контента.

Повышение производительности с помощью интеллектуальных развертываний

Совет

Чтобы обеспечить работу смарт-развертываний в GitHub, рабочие процессы должны иметь разрешения на чтение и запись в репозитории. Дополнительные сведения см. в разделе "Управление параметрами GitHub Actions" для репозитория .

Интеллектуальные развертывания — это серверная возможность, которая повышает производительность за счет активного отслеживания изменений, внесенных в файлы содержимого подключенного репозитория. Он использует CSV-файл в папке .sentinel в репозитории для аудита каждой фиксации. Рабочий процесс позволяет избежать повторного развертывания содержимого, которое не было изменено с момента последнего развертывания. Этот процесс повышает производительность развертывания и предотвращает незаконное изменение неизменного содержимого в рабочей области, например сброс динамических расписаний правил аналитики.

Смарт-развертывания включены по умолчанию для ново созданных подключений. Если вы предпочитаете, чтобы всё содержимое системы управления версиями развертывалось каждый раз при запуске развертывания, независимо от того, было оно изменено или нет, измените рабочий процесс, чтобы отключить умные развертывания. Дополнительные сведения см. в разделе "Настройка рабочего процесса или конвейера".

Рассмотрите варианты настройки развертывания

При развертывании содержимого с помощью репозиториев Microsoft Sentinel следует учитывать следующие параметры настройки.

Настройка рабочего процесса или конвейера

Настройте рабочий процесс или конвейер одним из следующих способов:

  • настройка различных триггеров развертывания;
  • развертывание содержимого только из определенной корневой папки для указанной рабочей области;
  • планирование рабочего процесса для периодического выполнения
  • объединение различных событий рабочего процесса вместе;
  • отключение умных развертываний

Эти настройки определены в файле .yml, относямся к рабочему процессу или конвейеру. Дополнительные сведения о реализации см. в разделе "Настройка развертываний репозитория"

Настройка развертывания

После активации рабочего процесса или конвейера развертывание поддерживает следующие сценарии:

  • приоритизировать содержимое для развертывания перед остальной частью содержимого репозитория
  • исключить содержимое из развертывания
  • укажите файлы параметров шаблона ARM

Эти параметры доступны с помощью функции сценария развертывания PowerShell, вызываемого из рабочего процесса или конвейера. Дополнительные сведения о реализации этих настроек см. в разделе "Настройка развертываний репозитория".

Следующие шаги

Получите дополнительные примеры и пошаговые инструкции по развертыванию репозиториев Microsoft Sentinel.