Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существует два основных способа настроить развертывание содержимого репозитория в рабочие области Microsoft Sentinel. Каждый метод использует разные файлы и синтаксис, поэтому рассмотрим эти примеры, чтобы начать работу. Прежде чем начать, убедитесь, что необходимые условия для подключения к репозиторию и развертывания выполнены.
| Метод настройки | Описанные варианты развертывания |
|---|---|
| Рабочий процесс GitHub Конвейер DevOps |
Настройка триггера развертывания подключения Настройка пути развертывания Включение поддержки интеллектуальных развертываний |
| Файлы конфигурации | Управление приоритетным порядком развертываний содержимого Выбор исключения определенных файлов содержимого из развертываний Масштабирование развертываний в разных рабочих областях путем сопоставления файлов параметров с определенными файлами содержимого |
Предварительные условия
Чтобы настроить развертывание репозитория, вам потребуется существующее подключение к репозиторию. Чтобы создать его, см. статью "Развертывание пользовательского содержимого из репозитория". После создания подключения убедитесь, что выполнены следующие требования:
- Доступ участника к вашему репозиторию GitHub или доступ администратора проекта к вашему репозиторию Azure DevOps
- Действия, включенные для GitHub и Pipelines, включенные для Azure DevOps
- Убедитесь, что пользовательские файлы содержимого, которые вы хотите разместить в рабочих областях, имеют поддерживаемый формат. Поддерживаемые форматы см. в статье Планирование содержимого репозитория.
Дополнительные сведения о развертываемых типах контента см. в статье Планирование содержимого репозитория.
Настройка рабочего процесса или конвейера
Стандартный рабочий процесс развёртывает только контент, изменённый с момента последнего развёртывания, на основе коммитов в репозиторий. Настройте рабочий процесс или конвейер для настройки различных триггеров развертывания или для развертывания контента исключительно из определённой корневой папки.
Выберите одну из следующих вкладок в зависимости от типа подключения:
Чтобы настроить рабочий процесс развертывания GitHub:
В GitHub перейдите в репозиторий и найдите рабочий процесс в каталоге .github/workflows .
Файл рабочего процесса — это файл YML, начинающийся с sentinel-deploy-xxxxx.yml. Откройте этот файл, и имя рабочего процесса отображается в первой строке и имеет следующее соглашение об именовании по умолчанию:
Deploy Content to <workspace-name> [<deployment-id>].Пример:
name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]Нажмите кнопку карандаша в правом верхнем углу страницы, чтобы открыть файл для редактирования, а затем измените развертывание следующим образом:
Чтобы изменить триггер развертывания, обновите
onраздел кода, который описывает событие, запускающее рабочий процесс.По умолчанию для этой конфигурации задано значение
on: push, что означает, что рабочий процесс активируется при любой отправке в подключенную ветвь, включая изменения существующего содержимого и добавление нового содержимого в репозиторий. Например, вы можете:on: push: branches: [ main ] paths: - `**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml`Измените эти параметры, например, чтобы запланировать периодический запуск рабочего процесса или объединить различные события рабочего процесса.
Для получения дополнительной информации см. раздел Configuring events workflow в документации GitHub.
Отключить умные развертывания:
Поведение умного развертывания настроено отдельно от триггера рабочего процесса в
onразделе. Перейдите к разделуjobsрабочего процесса.smartDeploymentПереключите значение по умолчанию сtrueнаfalse. После фиксации этого изменения функция интеллектуального развертывания отключается, а все будущие развертывания для этого подключения повторно развертывают все соответствующие файлы содержимого репозитория в подключенных рабочих областях.Чтобы изменить путь развертывания:
В конфигурации по умолчанию, показанной для раздела
on, подстановочные знаки (**) в первой строке разделаpathsуказывают, что для триггеров развертывания используется весь путь ветки.Эта настройка по умолчанию означает, что рабочий процесс развертывания запускается каждый раз, когда содержимое отправляется в любую часть подключённой ветки.
В
jobsразделе стандартная конфигурация включаетdirectory: '${{ github.workspace }}'. Настройкаdirectoryпоказывает, что вся ветка GitHub находится в пути для развертывания контента, без фильтрации путей папок.Чтобы развернуть содержимое только из определенной папки, добавьте его в конфигурации
pathsиdirectory. Например, чтобы развернуть содержимое только из корневой папки с именемSentinelContent, обновите код следующим образом:paths: - `SentinelContent/**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml` ... directory: '${{ github.workspace }}/SentinelContent'
Для получения дополнительной информации см. синтаксис рабочих процессов GitHub Actions для фильтров путей в документации GitHub.
Важно!
В GitHub и Azure DevOps убедитесь, что путь триггера и каталоги пути развертывания согласованы.
Масштабирование развертываний с помощью файлов параметров
Вместо передачи параметров в виде встроенных значений в файлах содержимого рекомендуется использовать файл параметров Bicep или JSON-файл, содержащий значения параметров. Затем сопоставьте эти файлы параметров с соответствующими файлами содержимого Microsoft Sentinel, чтобы упростить масштабирование развертываний в разных рабочих областях.
Существует несколько способов сопоставления файлов параметров с файлами содержимого. Помните, что файлы параметров Bicep поддерживают только шаблоны файлов Bicep, а файлы параметров JSON поддерживают оба. Конвейер развертывания репозиториев рассматривает файлы параметров в следующем порядке:
Существует ли сопоставление в sentinel-deployment.config?
Дополнительные сведения см. в разделе Настройка конфигурации подключения.Существует ли файл параметров, связанный с рабочей областью? Да, файлы содержимого находятся в том же каталоге вместе с файлом параметров, сопоставленным с рабочей областью, который соответствует одному из следующих шаблонов:
.<WorkspaceID>.bicepparam
.parameters-<WorkspaceID>.jsonСуществует ли файл параметров по умолчанию? Да, файлы содержимого находятся в одном каталоге с файлом параметров, соответствующим одному из следующих шаблонов:
.bicepparam
.parameters.json
Избегайте конфликтов с несколькими развертываниями рабочих областей, сопоставляя файлы параметров с помощью файла конфигурации или указывая идентификатор рабочей области в имени файла.
Важно!
После определения соответствия файла параметров на основе приоритета сопоставления конвейер игнорирует все оставшиеся сопоставления.
Изменение сопоставленного файла параметров, указанного в sentinel-deployment.config , запускает развертывание связанного файла содержимого. Добавление или изменение файла параметров, сопоставленного с рабочей областью, или файла параметров по умолчанию также активирует развертывание парных файлов содержимого вместе с новыми измененными параметрами, если не настроено сопоставление параметров с более высоким приоритетом. Другие файлы содержимого не развертываются до тех пор, пока функция интеллектуального развертывания по-прежнему включена в файле определения рабочего процесса или конвейера.
Настройка конфигурации подключения
Скрипт развертывания для репозиториев поддерживает использование файла конфигурации развертывания для каждой ветви репозитория по состоянию на июль 2022 г. JSON-файл конфигурации помогает сопоставлять файлы параметров с соответствующими файлами содержимого, определять приоритеты определенного содержимого в развертываниях и исключать определенное содержимое из развертываний.
Важно!
Создание, удаление или изменение файлаsentinel-deployment.config активирует полное развертывание всего содержимого репозитория в соответствии с обновленной конфигурацией.
Создайте файлsentinel-deployment.config в корне репозитория.
Включите структурированное содержимое в три необязательных раздела:
"prioritizedcontentfiles":,"excludecontentfiles":и"parameterfilemappings":. Если разделы не включены или файл .config опущен, процесс развертывания по-прежнему выполняется. Недопустимые или нераспознанные разделы игнорируются.
Вот пример полного содержимого корректного файла sentinel-deployment.config. Этот пример также можно найти в примере репозиториев Microsoft Sentinel CICD.
{
"prioritizedcontentfiles": [
"parsers/Sample/ASimAuthenticationAWSCloudTrail.json",
"workbooks/sample/TrendMicroDeepSecurityAttackActivity_ARM.json",
"Playbooks/PaloAlto-PAN-OS/PaloAltoCustomConnector/azuredeploy.bicep"
],
"excludecontentfiles": [
"Detections/Sample/PaloAlto-PortScanning.json",
"parameters"
],
"parameterfilemappings": {
"879001c8-2181-4374-be7d-72e5dc69bd2b": {
"Playbooks/PaloAlto-PAN-OS/Playbooks/PaloAlto-PAN-OS-BlockIP/azuredeploy.bicep": "parameters/samples/auzredeploy.bicepparam"
},
"9af71571-7181-4cef-992e-ef3f61506b4e": {
"Playbooks/Enrich-SentinelIncident-GreyNoiseCommunity-IP/azuredeploy.json": "path/to/any-parameter-file.json"
}
},
"DummySection": "This shouldn't impact deployment"
}
Примечание.
Не используйте символ обратной косой черты "\" ни в одном из путей к содержимому. Вместо этого используйте косую черту "/".
Чтобы расставить приоритеты в файлах контента:
По мере увеличения объема содержимого в репозитории время развертывания может увеличиться. Добавьте в этот раздел содержимое с учетом времени, чтобы определить приоритеты его развертывания при возникновении триггера.
Добавьте полные имена путей в
"prioritizedcontentfiles":раздел. В настоящее время сопоставление с подстановочными знаками не поддерживается.Чтобы исключить файлы контента, измените
"excludecontentfiles":раздел с полными названиями путей отдельных .json файлов контента.Для отображения параметров:
Сценарий развертывания принимает три метода сопоставления параметров (сопоставления файлов конфигурации, файлы параметров, сопоставленные с рабочей областью и файлы параметров по умолчанию), как описано в разделе "Масштабирование развертываний с помощью файлов параметров". Сопоставление параметров через sentinel-deployment.config имеет наивысший приоритет и гарантирует, что заданный файл параметров будет сопоставлен со связанными с ним файлами содержимого. Измените
"parameterfilemappings":раздел, указав идентификатор рабочей области целевого подключения и полные имена путей отдельных .json файлов.