Алгоритм плейбука

Развернуть все | Свернуть все

Open Single Management Platform позволяет вам реагировать на алерты и инциденты вручную или автоматически с использованием плейбуков. Реагирование на алерты или инциденты может состоять не из одного действия, а из целого набора шагов и параметров. Эти шаги зависят от указанных условий, данных об алерте или инциденте, а также результатов предыдущих действий по реагированию.

Алгоритм плейбука позволяет вам указать последовательность действий по реагированию, необходимые условия и требуемое воздействие на целевые объекты в формате JSON. Шаги алгоритма плейбука выполняются последовательно. Вы можете указать алгоритм плейбука при создании или изменении плейбука.

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

Как написать алгоритм

Алгоритм плейбука описывается в формате JSON и состоит из двух основных частей:

Следующие параметры нужны при написании алгоритма:

Если вы попытаетесь сохранить плейбук без заполнения обязательных полей, отобразится ошибка.

Алгоритм плейбука чувствителен к регистру. Чтобы использовать данные активов из алерта, вам нужно использовать параметр Assets с заглавной буквы. Например: alert.Assets[]. Чтобы использовать данные активов во входных данных при запуске плейбука вручную для целевых объектов, не используйте заглавные буквы в параметре assets. Например: .input.assets[].

В зависимости от выбранной вами области действия при создании или изменении плейбука вы можете использовать в выражениях, написанных на jq-языке, модель данных алерта или модель данных инцидента. Для этого напишите выражения со значением alert или incident (не используйте точку "." в начале значения). Например:

"${[ alert.Assets[] | select(.Type == \"user\" and .IsAttacker) | .ID]}"

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

Вы также можете использовать выражения jq при использовании данных плейбука в алгоритме. Для получения дополнительной информации о выражениях jq см. Руководство по jq.

Если вы используете кавычки в выражении jq, вам нужно экранировать эти знаки обратными косыми чертами. Например: "${[ alert.Assets[] | select(.Type == \"user\" and .IsAttacker) | .ID]}".

Обратные косые черты, которые не используются для экранирования кавычек, также должны быть экранированы другими обратными косыми чертами. Например: ${\"add_firewall_rule --ip_address=\" + ([.input.observables[] | select(.type == \"ip\") | select(.value | test(\"^(10\\\\.|172\\\\.(1[6-9]|2[0-9]|3[01])\\\\.|192\\\\.168\\\\.|127\\\\.).*\") | not) | .value] | join(\",\"))}.

Если вы хотите запустить плейбук для определенного объекта (наблюдаемые объекты или активы), используйте параметр .input в алгоритме. Эти объекты будут входными данными для плейбука при его запуске. Например:

"assets": "${ [.input.assets[] | select(.Type == \"host\") | .ID] }"

Подробнее см. раздел Запуск плейбуков для объектов, указанных пользователями.

Как вызываются подсказки

Если вам нужна подсказка по доступным полям при написании алгоритма, используйте кавычки (""). Отобразится список доступных полей.

Чтобы отобразить подсказки по данным алерта или инцидента,

в jq-выражении напишите alert или incident и укажите точку "." в конце.

Правильная подсказка появляется, если в вышеуказанных выражениях нет ошибок. Иначе список доступных полей может быть некорректным.

Как вызываются подсказки

Вы можете вызывать подсказки при написании алгоритма плейбука. Подсказки содержат строку поиска и помогают вам быстро указать значение поля. Чтобы просмотреть подсказки, используйте кавычки (""). Отобразится список подсказок.

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

Если вы выберете и затем удалите имя параметра, указанное в кавычках, подсказка для параметра не отобразится, даже если вы указали новый параметр в кавычках.

Чтобы вернуться в режим подсказки для параметра, выполните одно из следующих действий:

Если вы удалите имя параметра посимвольно, вы не выйдете из режима подсказки, даже если полностью удалите имя параметра.

Пример алгоритма плейбука

В этом разделе

Параметры плейбука

Параметры шага выполнения

Параметры ResponseFunction

В начало