Создание пользовательских графов с помощью ИИ в Microsoft Sentinel (предварительная версия)

Используйте GitHub Copilot в Visual Studio Code вместе с Microsoft Sentinel для создания, изменения и выполнения запросов к пользовательским графам безопасности с помощью Jupyter Notebook. Опишите, что вы хотите создать на естественном языке, просмотрите созданную записную книжку и доработайте ее по мере необходимости.

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

  • Создать полноценный блокнот для создания графов по описанию
  • Изменение или отладка существующего графа
  • Понять сгенерированный код графа
  • Пишите и выполняйте графовые запросы

Как работает помощь ИИ для настраиваемых графиков

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

Используйте следующий рабочий процесс для взаимодействия с Copilot для создания графов:

  1. Опишите граф или изменение, которое вы хотите внести.
  2. Copilot создает или обновляет код, связанный с графами.
  3. Вы проверяете, запускаете и итеративно дорабатываете результаты.

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

Предварительные условия

Перед началом убедитесь, что у вас есть:

Создание и изменение пользовательского графа с помощью Copilot

Выполните следующие действия, чтобы создать новый граф или изменить существующий с помощью GitHub Copilot.

  1. Откройте существующую записную книжку Jupyter (.ipynb) или разрешите Copilot создать ее.

  2. Откройте чат GitHub Copilot (CTRL+SHIFT+I в Windows, Cmd+SHIFT+I в macOS).

  3. Опишите граф, который требуется создать.

Для получения наилучших результатов при создании или изменении полного графа используйте помощник по созданию графов Sentinel, включив @sentinel /graph-authoring в запрос. Это дает Copilot дополнительный контекст об API Graph, схемах и рекомендуемых методах их использования.

@sentinel /graph-authoring Create a graph that maps email senders to recipients and URLs using EmailEvents

Помощник создает полную записную книжку, которая соответствует стандартному жизненному циклу разработки графа:

Шаг Описание
Настройка среды Проверяет необходимые пакеты и сведения о подключении
Загрузка данных Читает таблицы из озера данных Sentinel
Преобразование данных Подготавливает данные узлов и рёбер
Схема графа Определяет узлы и ребра
Проверка схемы Проверяет определение графа
Сборка графа Материализует граф
Графовый запрос Выполняет запросы к графу

Уточнение графа

После создания графа можно продолжить беседу, чтобы уточнить ее, например:

@sentinel Add an edge from User to IPAddress
@sentinel Filter the data to show only failed sign-ins

Изменение или отладка существующего графа

Попросите Copilot обновить или исправить определенные части записной книжки. Например, можно изменить фильтры, настроить столбцы или устранить ошибки сборки:

@sentinel Change the time range to the last 7 days

Следующий запрос предлагает Copilot изменить определённую ячейку блокнота, добавив поле в результат:

@sentinel Update cell 3 to include the Subject column

В следующем запросе Copilot предлагается выполнить диагностику и устранить сбой на этапе построения графа:

@sentinel Fix the error in the graph build step

Обновляются только затронутые ячейки. Другие ячейки остаются без изменений.

Изучение кода графов и запросов

Задавайте вопросы о созданном коде, не изменяя записную книжку. Например, следующий запрос просит Copilot объяснить назначение конкретного вспомогательного метода Graph API:

@sentinel What does show_schema() do?

В следующем запросе Copilot просят разъяснить, как моделируются ключи рёбер в схемах графов Sentinel:

@sentinel Explain how edge keys are defined

Следующий запрос предлагает Copilot объяснить логику графового запроса шаг за шагом:

@sentinel How does this graph query work?

Найдите API Graph и примеры

Если вам нужна помощь с API графа Sentinel, параметрами метода или примерами запросов, вы можете обратиться к Copilot за пояснениями. Чтобы получать более точные ответы с учётом Sentinel, включите в запрос вспомогательный элемент справки #Sentinel. Например, следующий запрос просит Copilot предоставить справочные сведения о сигнатуре метода build_graph_with_data():

What parameters does build_graph_with_data() accept? #sentinel

В следующем примере Copilot предлагается создать запрос на обход графа между двумя типами сущностей:

Write a graph query to find all paths between User and IPAddress #sentinel

Этот вспомогательный модуль предоставляет Copilot авторитетную документацию по API графа Sentinel. Справочный помощник #sentinel не изменяет ваш блокнот.

Выбор способа взаимодействия с Copilot

Используйте следующую таблицу, чтобы выбрать оптимальный способ взаимодействия с Copilot в зависимости от вашей цели:

Что вы хотите сделать Рекомендуемый подход
Создайте или измените блокнот графа Опишите свою цель (используйте @sentinel для достижения наилучших результатов)
Исправление или отладка ошибки графа Опишите проблему (используйте @sentinel)
Спросите о API-интерфейсах графа или параметрах Задайте вопрос (включая #sentinel)
Задать общий вопрос Обычный запрос Copilot

Ключевые понятия

Следующие понятия важны для понимания при использовании разработки графов с поддержкой искусственного интеллекта.

Доступность рабочей области и таблиц

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

Важно!

Если таблица не отображается в обозревателе озера данных, её нельзя использовать для создания графов.

Изменения в ноутбуке

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

Устранение неполадок

В следующей таблице перечислены распространенные проблемы и способы их устранения.

Проблема Решение
Записная книжка не открыта Откройте или создайте .ipynb файл перед началом разработки графов.
Таблицы отсутствуют Убедитесь, что ваше озеро данных Sentinel подключено и ожидаемые таблицы отображаются в обозревателе озера данных.
Отсутствуют необходимые пакеты Убедитесь, что ваш блокнот подключён к поддерживаемому пулу вычислений Spark Sentinel.
Непредвиденная ячейка была изменена Отмените изменение и повторите запрос, указав номер ячейки.