Выполнение запросов KQL к озеру данных Microsoft Sentinel

Исследование озера данных на портале Microsoft Defender предоставляет единый интерфейс для анализа вашего озера данных. Она позволяет выполнять запросы KQL (язык запросов Kusto), создавать задания и управлять ими. Прежде чем начать, убедитесь, что вы соответствуете требованиям для запроса к Data Lake, включая онбординг Data Lake и необходимые разрешения.

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

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

Для выполнения KQL-запросов в озере данных Microsoft Sentinel необходимы следующие предварительные условия.

Подключиться к озеру данных

Запросы KQL можно выполнять на портале Microsoft Defender после завершения процесса подключения. Дополнительные сведения см. в статье Начало работы с озером данных Microsoft Sentinel.

Разрешения

Роли Microsoft Entra ID позволяют получать доступ ко всем рабочим областям в озере данных. Кроме того, можно предоставить доступ к отдельным рабочим областям с помощью ролей Azure управления доступом на основе ролей (Azure RBAC). Пользователи, имеющие разрешения Azure RBAC к рабочим областям Microsoft Sentinel, могут выполнять запросы KQL к этим рабочим областям на уровне Data Lake. Дополнительные сведения о ролях и разрешениях см. в разделе роли и разрешения озера данных Microsoft Sentinel.

При необходимости можно настроить область видимости в Microsoft Sentinel или RBAC на уровне строк, чтобы дополнительно ограничить доступ к данным в рабочей области. Если этот параметр включён, ограничение области видимости на уровне строк ограничивает те данные, которые возвращаются запросами, на основе области видимости, назначенной пользователю. Если определение области на уровне строк не настроено, существующая модель разрешений на уровне рабочей области применяется без изменений. Настройка области Microsoft Sentinel (RBAC на уровне строк) (предварительная версия).

Написание запросов KQL

Написание запросов для озера данных аналогично написанию запросов в расширенном режиме охоты. Вы можете использовать один и тот же синтаксис KQL и функции. KQL поддерживает расширенные функции аналитики и машинного обучения. Редактор запросов предлагает интерфейс для выполнения запросов KQL с такими функциями, как IntelliSense и автозавершение, чтобы помочь вам эффективно писать. Подробные сведения о синтаксисе и функциях KQL см. в статье Общие сведения о язык запросов Kusto (KQL).

Запросы KQL на портале Defender

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

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

Снимок экрана: страница запросов KQL на портале Defender.

Выбор рабочих областей

Запросы можно выполнять к одной рабочей области или нескольким рабочим областям. Выберите рабочие области в правом верхнем углу редактора запросов с помощью раскрывающегося списка Выбранные рабочие области . В выбранной рабочей области определяются таблицы, доступные для выполнения запросов. Выбранные рабочие области применяются ко всем вкладкам запросов в редакторе запросов. При использовании нескольких рабочих областей union() оператор применяется по умолчанию к таблицам с одинаковым именем и схемой из разных рабочих областей. Используйте оператор workspace(), чтобы запросить таблицу из определенной рабочей области, например workspace("MyWorkspace").AuditLogs.

Чтобы запросить федеративные таблицы, выберите Системные таблицы при выборе рабочих областей. Дополнительные сведения о федеративных таблицах см. в разделе «Использование федеративных таблиц в озере данных Microsoft Sentinel».

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

Снимок экрана: панель выбора рабочих областей.

Выбор диапазона времени

Примечание.

Запросы ограничены 500 000 строками или 64 МБ данных и истекают через 8 минут. Широкие диапазоны времени могут превышать эти ограничения. Для длительных запросов рекомендуется использовать асинхронные запросы.

Используйте средство выбора времени над редактором запросов, чтобы выбрать диапазон времени для запроса. С помощью параметра Настраиваемый диапазон времени можно задать определенное время начала и окончания. Диапазоны времени могут составлять до 12 лет.

Снимок экрана: селектор диапазона времени.

Важно!

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

Вы также можете указать диапазон времени в синтаксисе запросов KQL, например:

  • where TimeGenerated between (datetime(2020-01-01) .. datetime(2020-12-31))
  • where TimeGenerated between(ago(180d)..ago(90d))

Примечание.

Запросы ограничены 500 000 строками или 64 МБ данных и завершаются по тайм-ауту через 8 минут. При выборе широкого диапазона времени запрос может превысить эти ограничения. Рассмотрите возможность использования асинхронных запросов для длительных запросов. Дополнительные сведения см. в разделе Асинхронные запросы.

Просмотр сведений о схеме

Браузер схем предоставляет список доступных таблиц и их столбцов для выбранных рабочих областей, сгруппированных по категориям. Системные таблицы отображаются в категории Активы . Пользовательские таблицы с _CL, _KQL_CL, _SPARKи _SPARK_CL группируются в категорию Пользовательские журналы . Используйте браузер схем для просмотра данных, доступных в озере данных, а также для обнаружения таблиц и столбцов. Используйте поле поиска, чтобы быстро найти определенные таблицы.

Снимок экрана, показывающий панель обозревателя схем в редакторе KQL.

Окно результатов

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

Вы можете выполнить поиск в результатах с помощью поля поиска в правом верхнем углу окна результатов.

Снимок экрана: окно результатов в редакторе запросов KQL.

Встроенные запросы

На вкладке Запросы представлена коллекция встроенных запросов KQL. Эти запросы охватывают распространенные сценарии и варианты использования, такие как исследование инцидентов безопасности и охота на угрозы. Эти запросы можно использовать как есть или изменить в соответствии с конкретными потребностями.

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

Дополнительные сведения о примерах запросов см. в статье Примеры запросов KQL для озера данных Microsoft Sentinel.

Снимок экрана: вкладка

Асинхронные запросы

Асинхронные запросы позволяют запускать долгосрочные запросы KQL в фоне, чтобы продолжать работу в портале, пока запрос обрабатывается на сервере. Используйте асинхронные запросы, когда ваш запрос может превысить 8-минутный синхронный тайм-аут или при работе с широкими временными диапазонами.

Выполнение асинхронных запросов

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

  1. Щелкните стрелку вниз на кнопке "Выполнить запрос ", а затем нажмите кнопку "Выполнить асинхронный запрос".
  2. Введите имя запроса, чтобы определить асинхронный запрос.
  3. После отправки запроса отслеживайте его состояние на вкладке "Асинхронные запросы ".
  4. По завершении запроса выберите имя запроса из списка, чтобы просмотреть результаты.

Снимок экрана: вкладка

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

Снимок экрана: запрос на изменение длительного запроса на асинхронный.

Получение результатов асинхронного запроса

Чтобы просмотреть результаты асинхронного запроса, выберите завершенный асинхронный запрос на вкладке Асинхронные запросы и выберите Выбор результатов. Запрос отображается в комментариях в редакторе запросов, а результаты отображаются на вкладке Результаты.

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

Снимок экрана: результаты асинхронного запроса в редакторе запросов KQL.

Параметры и ограничения службы для асинхронных запросов KQL

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

Примечание.

Все ограничения в этой таблице применяются для каждого клиента. Ограничения на пользователя отсутствуют. Асинхронные запросы KQL используют те же счетчики скорости и параллелизма, что и интерактивные запросы KQL; Задания KQL имеют отдельную квоту.

При превышении ограничения скорости или ограничения параллелизма запрос отклоняется и не помещается в очередь. Счётчик параллелизма уменьшается сразу после завершения выполняющегося запроса, а счётчик лимита скорости сбрасывается каждую минуту.

Категория Параметр или ограничение
Ограничение частоты для каждого арендатора 30 запросов в минуту (в сочетании с интерактивными запросами KQL)
Уровень параллелизма для каждого арендатора 10 одновременных запросов (в сочетании с интерактивными запросами KQL)
Время ожидания выполнения асинхронного запроса 1 час
Длительность кэша 24 часа
Количество попыток получения кэшированных результатов пользователями Без ограничений
Область запросов Несколько рабочих областей
Диапазон времени запроса До 12 лет

Создание заданий запросов KQL и управление ими

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

Выполнение запросов к озеру данных с помощью Azure Data Explorer

Запросы KQL к озеру данных Microsoft Sentinel можно выполнять с помощью Azure Data Explorer (ADX). ADX предоставляет мощный механизм запросов и расширенные возможности аналитики. Чтобы подключиться к озеру данных с помощью ADX, создайте новое подключение с помощью следующего URI: https://api.securityplatform.microsoft.com/lake/kql

При запросе таблиц в озере данных с помощью ADX необходимо использовать функцию external_table() для доступа к данным. Следующий пример запроса получает образец из 100 записей из внешней AADRiskyUsers таблицы:

external_table("AADRiskyUsers")
| take 100

Особенности и ограничения запросов

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

  • Запросы к устаревшим таблицам, таким как AzureDiagnostics, не поддерживаются.

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

  • Запросы выполняются по выбранным рабочим областям. Перед выполнением запроса убедитесь, что выбраны правильные рабочие области.

  • За выполнение запросов KQL в озере данных Microsoft Sentinel взимается плата на основе счетчиков тарификации запросов. Дополнительные сведения см. в статье Планирование затрат и сведения о ценах и выставлении счетов Microsoft Sentinel.

  • Проверьте прием данных и политику хранения таблиц. Перед настройкой диапазона времени запроса обратите внимание на срок хранения данных в таблицах озера данных и на то, доступны ли данные за выбранный диапазон времени. Дополнительные сведения см. в статье Управление уровнями данных и хранением на портале Microsoft Defender.

  • Запросы KQL к озеру данных менее производительны, чем запросы на уровне аналитики. Используйте запросы KQL к озеру данных только при анализе исторических данных или если таблицы хранятся в режиме "только озеро данных".

  • В настоящее время поддерживаются следующие команды элемента управления KQL:

    • .show version
    • .show databases
    • .show databases entities
    • .show database
  • При использовании stored_query_results команды укажите диапазон времени в запросе KQL. Селектор временного диапазона редактора запросов не работает с командой stored_query_results .

  • Использование встроенных или пользовательских функций не поддерживается в запросах KQL к озеру данных.

  • Вызов внешних данных с помощью запроса KQL к озеру данных не поддерживается.

  • Поддерживаются все операторы и функции KQL, кроме следующих:

    • adx()
    • arg()
    • externaldata()
    • ingestion_time()
  • Существует 15-минутная задержка между приемом данных в озеро данных или федеративные таблицы и когда они становятся доступными для запросов. Это означает, что недавно загруженные данные могут быть недоступны для запросов сразу после загрузки.

Параметры и ограничения службы для запросов KQL на уровне озера

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

Примечание.

Все ограничения в этой таблице применяются для каждого клиента. Ограничения на пользователя отсутствуют. Интерактивные запросы KQL и асинхронные запросы KQL используют одни и те же счетчики скорости и параллелизма.

При превышении ограничения скорости или ограничения параллелизма запрос отклоняется и не помещается в очередь. Счётчик параллелизма уменьшается сразу после завершения выполняющегося запроса, а счётчик лимита скорости сбрасывается каждую минуту.

Категория Параметр или ограничение
Ограничение частоты для каждого арендатора 30 запросов в минуту (объединенные интерактивные и асинхронные)
Уровень параллелизма для каждого арендатора 10 одновременных запросов (объединенных интерактивных и асинхронных)
Запрос результирующих данных 64 МБ. Чтобы переопределить значение по умолчанию для конкретного запроса, см. раздел Ограничения запросов в справочнике по языку запросов Kusto.
Строки результатов запроса 500 000 строк. Чтобы переопределить значение по умолчанию для конкретного запроса, см. раздел Ограничения запросов в справочнике по языку запросов Kusto.
Область запросов Несколько рабочих областей
Время ожидания запроса 4 минуты
Диапазон времени, доступный для запросов До 12 лет в зависимости от хранения данных.

Сведения по устранению неполадок с запросами KQL см. в статье Устранение неполадок запросов KQL в озере данных Microsoft Sentinel.