Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ноутбуки Jupyter предоставляют интерактивную среду для изучения, анализа и визуализации данных в озере данных Microsoft Sentinel и федеративных таблицах. Записные книжки позволяют писать и выполнять код, документировать рабочий процесс и просматривать результаты в одном месте. Эта универсальная среда ноутбука облегчает исследование данных, создание передовых аналитических решений и обмен инсайтами с другими. Используя Python и Apache Spark в Visual Studio Code, записные книжки помогают преобразовывать необработанные данные безопасности в практический интеллект.
В этой статье показано, как изучать данные в озере данных и взаимодействовать с ними с помощью ноутбуков Jupyter в Visual Studio Code.
Предварительные условия
Подключение к озеру данных Microsoft Sentinel
Чтобы использовать блокноты в озере данных Microsoft Sentinel, необходимо сначала выполнить подключение к озеру данных. Если вы еще не подключены к озеру данных Sentinel, см. раздел Подключение к озеру данных Microsoft Sentinel. Если вы недавно начали работать с озером данных, может пройти некоторое время, пока не будет загружен достаточный объем данных, прежде чем вы сможете создавать содержательный анализ с помощью ноутбуков.
Требуемые разрешения для ноутбуков Data Lake
Роли Microsoft Entra ID обеспечивают широкий доступ ко всем рабочим областям в озере данных. В качестве альтернативы вы можете предоставить доступ к отдельным рабочим областям с помощью ролей Azure RBAC. Пользователи с разрешениями Azure RBAC для рабочих областей Microsoft Sentinel могут запускать записные книжки в этих рабочих областях на уровне озера данных. Дополнительные сведения см. в разделе Роли и разрешения в Microsoft Sentinel.
При необходимости можно настроить область видимости в Microsoft Sentinel или RBAC на уровне строк, чтобы дополнительно ограничить доступ к данным в рабочей области. Если этот параметр включён, ограничение области видимости на уровне строк ограничивает те данные, которые возвращаются запросами, на основе области видимости, назначенной пользователю. Если определение области на уровне строк не настроено, существующая модель разрешений на уровне рабочей области применяется без изменений. Дополнительные сведения см. в разделе Настройка области Microsoft Sentinel (RBAC на уровне строк) (предварительная версия).
Чтобы создать новые настраиваемые таблицы в аналитическом уровне, управляемому удостоверению озера данных необходимо назначить роль Участник Log Analytics в рабочей области Log Analytics.
Чтобы назначить роль, выполните следующие действия.
- В портал Azure перейдите к рабочей области Log Analytics, которой требуется назначить роль.
- Выберите Управление доступом (IAM) в области навигации слева.
- Выберите Добавить назначение ролей.
- В таблице Роль выберите Участник Log Analytics, а затем нажмите кнопку Далее.
- Выберите Управляемый идентификатор, а затем выберите Выбрать участников.
- Управляемый идентификатор вашего озера данных — это управляемый идентификатор, назначенный системой, с именем
msg-resources-<guid>. Выберите управляемое удостоверение, а затем выберите Выбрать. - Выберите Проверить и назначить.
Дополнительные сведения о назначении ролей для управляемых удостоверений см. в статье Назначение ролей Azure с помощью портала Azure.
Установка Visual Studio Code и расширения Microsoft Sentinel
Если у вас еще нет Visual Studio Code, скачайте и установите Visual Studio Code для Mac, Linux или Windows.
Расширение Microsoft Sentinel для Visual Studio Code (VS Code) устанавливается из marketplace расширений. Чтобы установить расширение, выполните следующие действия.
- Выберите Extensions Marketplace на панели инструментов слева.
- Найдите Sentinel.
- Выберите расширение Microsoft Sentinel и нажмите кнопку Установить.
- После установки расширения в левой панели инструментов появляется иконка Microsoft Sentinel Image расширения Microsoft
.
Установите расширение GitHub Copilot для Visual Studio Code, чтобы включить завершение кода и предложения в записных книжках.
- Найдите GitHub Copilot в Marketplace расширений и установите его.
- После установки войдите в GitHub Copilot с помощью учетной записи GitHub.
Изучение таблиц уровня озера данных
После установки расширения Microsoft Sentinel можно приступить к изучению таблиц уровня data lake и созданию блокнотов Jupyter для анализа данных.
Вход в расширение Microsoft Sentinel
Чтобы войти в расширение Microsoft Sentinel, выполните следующие действия.
Выберите изображение Microsoft Sentinel для
на левой панели инструментов.Откроется диалоговое окно со следующим текстом: Расширение "Microsoft Sentinel" хочет выполнить вход через Microsoft. Выберите Разрешить.
Выберите имя учетной записи, чтобы завершить вход.
Если с вашим именем входа связано несколько гостевых учетных записей, можно легко переключаться между учетными записями. Чтобы переключаться между учетными записями, выберите имя учетной записи в левом нижнем углу окна Visual Studio Code. Одновременно можно выбрать только одну учетную запись.
Важно!
Переключение между учетными записями отключает все активные сеансы pyspark.
Просмотр таблиц и заданий озера данных
После входа расширение Sentinel отображает список таблиц Lake и заданий в левой области. Таблицы группируются по базе данных и категории. Федеративные таблицы отображаются в категории Федеративные таблицы в разделе Системные таблицы. Выберите таблицу, чтобы просмотреть определения столбцов.
Для получения информации о планировании заданий в блокнотах см. раздел «Создание и управление заданиями и расписаниями в тетради » в этой статье. Дополнительные сведения о федеративных таблицах см. в разделе «Использование федеративных таблиц в озере данных Microsoft Sentinel».
Создание записной книжки
Чтобы создать новый блокнот Jupyter в Visual Studio Code, следуйте следующим шагам:
Чтобы создать записную книжку, используйте один из следующих методов.
Введите > в поле поиска или нажмите клавиши CTRL+SHIFT+P, а затем введите Create New Jupyter Notebook.
Выберите Файл > Создать файл, а затем выберите Jupyter Notebook в раскрывающемся списке.
В новой записной книжке вставьте следующий код в первую ячейку.
from sentinel_lake.providers import MicrosoftSentinelProvider data_provider = MicrosoftSentinelProvider(spark) table_name = "EntraGroups" df = data_provider.read_table(table_name) df_filtered = df.select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId").show(100, truncate=False) # Transform the dataframe df_transformed = df.filter(df.mail.isNotNull()).select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId") write_options = { 'mode': 'overwrite' } # Save to a new table data_provider.save_as_table(df_transformed, "EntraGroups_Processed_SPRK", write_options=write_options)Редактор поддерживает автодополнение кода IntelliSense как для класса
MicrosoftSentinelProvider, так и для имен таблиц в озере данных.Выберите треугольник Выполнить , чтобы выполнить код в записной книжке. Результаты отображаются в области выходных данных под ячейкой кода.
Выберите Microsoft Sentinel в списке для списка пулов среды выполнения.
Выберите Medium, чтобы запустить блокнот в пуле сред выполнения среднего размера. Дополнительные сведения о различных средах выполнения см. в разделе "Выбор соответствующего пула среды выполнения".
Примечание.
При выборе ядра запускается сеанс Spark и выполняется код в записной книжке. После выбора пула может потребоваться 3–5 минут для начала сеанса. Последующие запуски выполняются быстрее, так как сеанс уже активен.
При запуске сеанса код в записной книжке выполняется, а результаты отображаются в области вывода под ячейкой кода, например
Примеры записных книжек, демонстрирующих взаимодействие с озером данных Microsoft Sentinel, см. в разделе Примеры записных книжек для озера данных Microsoft Sentinel.
Мониторинг состояния записной книжки из строки состояния
Строка состояния в нижней части записной книжки содержит сведения о текущем состоянии записной книжки и сеансе Spark. Строка состояния содержит следующие сведения:
Процент использования виртуальных ядер для выбранного пула Spark. Наведите указатель мыши на процент, чтобы увидеть количество используемых виртуальных ядер и общее количество виртуальных ядер, доступных в пуле. Проценты показывают текущий уровень использования интерактивных рабочих нагрузок и нагрузок заданий для учетной записи, под которой выполнен вход.
Состояние подключения сеанса Spark, например
Connecting,ConnectedилиNot Connected.
Установите тайм-ауты сеанса
Вы можете настроить тайм-аут сеанса и предупреждения о тайм-ауте для интерактивных блокнотов. Эти параметры сохраняются в параметрах расширения, поэтому они сохраняются в сеансах.
Чтобы изменить время ожидания, выберите состояние подключения в строке состояния в нижней части записной книжки. Выберите из следующих вариантов.
Задать период ожидания сеанса. Задает время в минутах до истечения времени ожидания сеанса. Значение по умолчанию — 30 минут.
Сброс периода ожидания сеанса. Сбрасывает время ожидания сеанса до значения по умолчанию 30 минут.
Задать период предупреждения о времени ожидания сеанса. Задает время в минутах до истечения времени ожидания, когда отображается предупреждение о том, что сеанс вот-вот истекает. Значение по умолчанию — 5 минут.
Сброс периода предупреждения о времени ожидания сеанса. Сбрасывает предупреждение о времени ожидания сеанса до значения по умолчанию 5 минут.
Использование GitHub Copilot в записных книжках
Используйте GitHub Copilot для написания кода в записных книжках. GitHub Copilot предоставляет предложения по коду и автозавершение на основе контекста кода. Чтобы использовать GitHub Copilot, убедитесь, что в Visual Studio Code установлено расширение GitHub Copilot.
Скопируйте код из образцов записных книжек для озера данных Microsoft Sentinel и сохраните его в папке записных книжек, чтобы предоставить контекст для GitHub Copilot. GitHub Copilot сможет предложить завершение кода на основе контекста записной книжки.
В следующем примере показано, как GitHub Copilot генерирует проверку кода.
Используйте класс Microsoft Sentinel Provider
Чтобы подключиться к озеру данных Microsoft Sentinel, используйте MicrosoftSentinelProvider класс .
Класс MicrosoftSentinelProvider является частью sentinel_lake.providers модуля и предоставляет методы взаимодействия с озером данных. Чтобы подключить ваш ноутбук Spark к таблицам озера данных Microsoft Sentinel, импортируйте класс и создайте экземпляр с помощью spark сессии. Следующий код инициализирует поставщика данных Sentinel Lake, чтобы ноутбук мог запрашивать таблицы Microsoft Sentinel из Spark:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Дополнительные сведения о доступных методах см. в справочнике по классу поставщика Microsoft Sentinel.
Выберите подходящий пул среды выполнения
Для запуска записных книжек Jupyter в расширении Microsoft Sentinel доступны три пула среды выполнения. Каждый пул предназначен для различных рабочих нагрузок и требований к производительности. Выбор пула среды выполнения влияет на производительность, стоимость и время выполнения заданий Spark.
| Пул среды выполнения | Рекомендуемые варианты использования | Характеристики |
|---|---|---|
| Small | Разработка, тестирование и легкий исследовательский анализ. Небольшие рабочие нагрузки с простыми преобразованиями. Приоритезирована эффективность затрат. |
Подходит для небольших рабочих нагрузок Простые преобразования. Более низкая стоимость, более длительное время выполнения. |
| Средний | ETL-задачи с операциями JOIN, агрегацией и обучением моделей машинного обучения. Средний уровень рабочих нагрузок с помощью сложных преобразований. |
Повышенная производительность по сравнению с Small. Обрабатывает параллелизм и умеренные операции с большим объемом памяти. |
| Large | Рабочие нагрузки глубокого обучения и машинного обучения. Обширное перемешивание данных, крупные соединения или обработка в режиме реального времени. Критическое время выполнения. |
Высокая память и вычислительная мощность. Минимальные задержки. Лучше всего подходит для крупных, сложных или чувствительных ко времени рабочих нагрузок. |
Примечание.
При первом открытии параметры ядра могут загружаться около 30 секунд.
После выбора пула среды выполнения запуск сеанса может занять 3–5 минут.
Просмотр сообщений, журналов и ошибок
Журналы сообщений и сообщения об ошибках отображаются в трех областях в Visual Studio Code.
Панель Выходные данные .
- В области Выходные данные выберите Microsoft Sentinel в раскрывающемся списке.
- Выберите Отладка , чтобы включить подробные записи журнала.
Встроенные сообщения в блокноте предоставляют обратную связь и сведения о выполнении ячеек кода. Эти сообщения включают обновления состояния выполнения, индикаторы хода выполнения и уведомления об ошибках, связанные с кодом в предыдущей ячейке.
Всплывающее уведомление в правом нижнем углу Visual Studio Code, также называемое тост-уведомлением, отображает оповещения и обновления в режиме реального времени о состоянии операций в блокноте и сеансе Spark. Эти уведомления включают сообщения, предупреждения и оповещения об ошибках, такие как успешное подключение к сеансу Spark и предупреждения о времени ожидания.
Создание заданий и расписаний записной книжки и управление ими
Можно запланировать выполнение заданий с определенным временем или интервалами с помощью расширения Microsoft Sentinel для Visual Studio Code. Задания позволяют автоматизировать обработку данных для их обобщения, преобразования или анализа в озере данных Microsoft Sentinel. Задания также используются для обработки данных и записи результатов в пользовательские таблицы уровня озера данных или уровня аналитики. Дополнительные сведения о создании заданий и управлении ими см. в статье Создание заданий записной книжки Jupyter и управление ими.
Параметры и ограничения службы для записных книжек VS Code
В следующем разделе перечислены параметры службы и ограничения озера данных Microsoft Sentinel при использовании записных книжек в VS Code.
| Категория | Параметр или ограничение |
|---|---|
| Настраиваемая таблица на уровне аналитики | Пользовательские таблицы на уровне аналитики нельзя удалить из записной книжки; Используйте Log Analytics для удаления этих таблиц. Дополнительные сведения см. в статье Добавление и удаление таблиц и столбцов в журналах мониторинга Azure. |
| Тайм-аут веб-сокета шлюза | 2 часа |
| Время ожидания интерактивного запроса | 2 часа |
| Тайм-аут бездействия интерактивного сеанса | 20 минут |
| Язык | Python |
| Время ожидания запроса Graph | 7,5 минут |
| Тайм-аут задания блокнота | 8 часов |
| Максимальное количество одновременных заданий ноутбука | 3, последующие задания помещаются в очередь |
| Максимальное число одновременных пользователей при интерактивных запросах | 8–10 для большого пула |
| Время запуска сеанса | Запуск сеанса вычислений Spark занимает около 5–6 минут. Состояние сеанса можно просмотреть в нижней части записной книжки VS Code. |
| Поддерживаемые библиотеки | Для выполнения запросов к озеру данных поддерживаются только библиотеки Azure Synapse 3.4 и библиотека поставщика Microsoft Sentinel для абстрагированных функций. Установки Pip или пользовательские библиотеки не поддерживаются. |
| Ограничение пользовательского интерфейса VS Code для отображения записей | 100 000 строк |
Устранение неполадок
Распространенные ошибки и решения при работе с записными книжками см. в статье Устранение неполадок с записными книжками в озере данных Microsoft Sentinel.
Связанные материалы
- Устранение неполадок блокнотов в озере данных Microsoft Sentinel
- Создание заданий записной книжки и управление ими
- Примеры записных книжек для озера данных Microsoft Sentinel
- Справочник по классу Microsoft Sentinel Provider
- Общие сведения о озере данных Microsoft Sentinel
- Роли и разрешения хранилища данных Microsoft Sentinel