Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los cuadernos de Jupyter Notebook proporcionan un entorno interactivo para explorar, analizar y visualizar datos en el lago de datos Microsoft Sentinel y las tablas federadas. Con los cuadernos, puede escribir y ejecutar código, documentar el flujo de trabajo y ver los resultados, todo en un solo lugar. Este entorno de notebooks todo en uno facilita la exploración de datos, la creación de soluciones analíticas avanzadas y el intercambio de conocimientos con otros. Al aprovechar Python y Apache Spark dentro de Visual Studio Code, los cuadernos le ayudan a transformar los datos de seguridad sin procesar en inteligencia accionable.
En este artículo se muestra cómo explorar e interactuar con datos de Data Lake mediante cuadernos de Jupyter Notebook en Visual Studio Code.
Requisitos previos
Incorporación al lago de datos de Microsoft Sentinel
Para usar cuadernos en el lago de datos de Microsoft Sentinel, primero debe incorporarlos al lago de datos. Si no se ha incorporado al lago de datos de Sentinel, consulte Incorporación al lago de datos de Microsoft Sentinel. Si recientemente se ha incorporado al lago de datos, puede tardar algún tiempo hasta que se ingiere suficiente volumen de datos antes de poder crear análisis significativos mediante cuadernos.
Permisos requeridos para los cuadernos de data lake
Microsoft Entra ID roles proporcionan un acceso amplio a todas las áreas de trabajo del lago de datos. Como alternativa, puede conceder acceso a espacios de trabajo individuales mediante roles de RBAC de Azure. Los usuarios con permisos de RBAC de Azure para las áreas de trabajo de Microsoft Sentinel pueden ejecutar cuadernos en esas áreas de trabajo en el nivel de lago de datos. Para obtener más información, vea Roles y permisos en Microsoft Sentinel.
Opcionalmente, se pueden configurar la delimitación del ámbito en Microsoft Sentinel o el RBAC a nivel de fila para restringir aún más el acceso a los datos dentro de un área de trabajo. Cuando está habilitado, el ámbito de nivel de fila limita los datos devueltos por las consultas en función del ámbito asignado por el usuario. Si el ámbito de nivel de fila no está configurado, el modelo de permisos de nivel de área de trabajo existente se aplica sin cambios. Para obtener más información, consulte Configuración del ámbito de Microsoft Sentinel (RBAC a nivel de fila) (versión preliminar).
Para crear nuevas tablas personalizadas en el nivel de análisis, se debe asignar a la identidad administrada de Data Lake el rol Colaborador de Log Analytics en el área de trabajo de Log Analytics.
Para asignar el rol, siga estos pasos:
- En el Azure Portal, vaya al área de trabajo de Log Analytics a la que desea asignar el rol.
- Seleccione Control de acceso (IAM) en el panel de navegación izquierdo.
- Seleccione Agregar asignación de roles.
- En la tabla Rol, seleccione Colaborador de Log Analytics y, a continuación, seleccione Siguiente.
- Seleccione Identidad administrada y seleccione Seleccionar miembros.
- La identidad administrada de Data Lake es una identidad administrada asignada por el sistema denominada
msg-resources-<guid>. Seleccione la identidad administrada y seleccione Seleccionar. - Seleccione Revisar y asignar.
Para obtener más información sobre cómo asignar roles a identidades administradas, consulte Asignación de roles Azure mediante el Azure Portal.
Instalar Visual Studio Code y la extensión Microsoft Sentinel
Si aún no tiene Visual Studio Code, descargue e instale Visual Studio Code para Mac, Linux o Windows.
La extensión de Microsoft Sentinel para Visual Studio Code (VS Code) se instala desde marketplace de extensiones. Para instalar la extensión, siga estos pasos:
- Seleccione el Marketplace de extensiones en la barra de herramientas de la izquierda.
- Busque Sentinel.
- Seleccione la extensión Microsoft Sentinel y seleccione Instalar.
- Una vez instalada la extensión, aparece la imagen de Microsoft Sentinel
en la barra de herramientas izquierda.
Instale la extensión de GitHub Copilot para Visual Studio Code para habilitar la finalización de código y sugerencias en cuadernos.
- Busque GitHub Copilot en Marketplace de extensiones e instálelo.
- Después de la instalación, inicie sesión en GitHub Copilot con su cuenta de GitHub.
Exploración de tablas de nivel de lago de datos
Después de instalar la extensión Microsoft Sentinel, puede empezar a explorar las tablas de niveles de Data Lake y crear cuadernos de Jupyter Notebook para analizar los datos.
Inicie sesión en la extensión de Microsoft Sentinel
Para iniciar sesión en la extensión Microsoft Sentinel, siga estos pasos:
Selecciona la imagen de Microsoft Sentinel
en la barra de herramientas izquierda.Aparece un cuadro de diálogo con el texto siguiente La extensión "Microsoft Sentinel" quiere iniciar sesión con Microsoft. Seleccione Permitir.
Seleccione el nombre de la cuenta para completar el inicio de sesión.
Si tiene varias cuentas de invitado asociadas a su inicio de sesión, puede cambiar sin problemas entre cuentas. Para cambiar entre cuentas, seleccione el nombre de la cuenta en la parte inferior izquierda de la ventana de Visual Studio Code. Solo se puede seleccionar una cuenta a la vez.
Importante
Al cambiar entre cuentas, se desconectan las sesiones de pyspark activas.
Visualización de tablas y trabajos de Data Lake
Una vez que haya iniciado sesión, la extensión Sentinel muestra una lista de tablas de Lake y trabajos en el panel izquierdo. Las tablas se agrupan por la base de datos y la categoría. Las tablas federadas se muestran en la categoría Tablas federadas en Tablas del sistema. Seleccione una tabla para ver las definiciones de columna.
Para información sobre la programación de trabajos de cuaderno, consulte Crear y gestionar trabajos y horarios de cuadernos en este artículo. Para obtener más información sobre las tablas federadas, consulte Uso de tablas federadas en el lago de datos de Microsoft Sentinel.
Creación de un cuaderno
Para crear un nuevo cuaderno Jupyter en Visual Studio Code, sigue estos pasos:
Para crear un cuaderno, use uno de los métodos siguientes.
Escriba > en el cuadro de búsqueda o presione Ctrl+Mayús+P y, a continuación, escriba Crear nuevo Jupyter Notebook.
Seleccione Archivo > nuevo archivo y, a continuación, seleccione Jupyter Notebook en la lista desplegable.
En el nuevo cuaderno, pegue el código siguiente en la primera celda.
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)El editor proporciona la finalización de código IntelliSense tanto para la clase
MicrosoftSentinelProvidercomo para los nombres de tabla en el lago de datos.Seleccione el triángulo Ejecutar para ejecutar el código en el cuaderno. Los resultados se muestran en el panel de salida debajo de la celda de código.
Seleccione Microsoft Sentinel en la lista para obtener una lista de grupos en tiempo de ejecución.
Seleccione Medio para ejecutar el cuaderno en el grupo de tiempo de ejecución de tamaño medio. Para obtener más información sobre los distintos entornos de ejecución, consulte Selección del grupo de tiempo de ejecución adecuado.
Nota:
Al seleccionar el kernel, se inicia la sesión de Spark y se ejecuta el código en el cuaderno. Después de seleccionar el grupo, la sesión puede tardar entre 3 y 5 minutos. Las ejecuciones posteriores son más rápidas porque la sesión ya está activa.
Cuando se inicia la sesión, se ejecuta el código del cuaderno y los resultados se muestran en el panel de salida debajo de la celda de código, por ejemplo:
Para ver cuadernos de ejemplo que muestran cómo interactuar con el lago de datos de Microsoft Sentinel, consulte Cuadernos de ejemplo para Microsoft Sentinel lago de datos.
Supervisión del estado del cuaderno desde la barra de estado
La barra de estado de la parte inferior del cuaderno proporciona información sobre el estado actual del cuaderno y la sesión de Spark. La barra de estado incluye la siguiente información:
Porcentaje de utilización de vCore para el grupo de Spark seleccionado. Mantenga el puntero sobre el porcentaje para ver el número de núcleos virtuales usados y el número total de núcleos virtuales disponibles en el grupo. Los porcentajes representan el uso actual en cargas de trabajo interactivas y de tareas para la cuenta que ha iniciado sesión.
Estado de conexión de la sesión de Spark, por ejemplo
Connecting, ,ConnectedoNot Connected.
Establecer tiempos de espera de sesión
Puede configurar el tiempo de espera de la sesión y las advertencias de tiempo de espera para notebooks interactivos. Esta configuración se conserva en la configuración de la extensión para que se conserven entre sesiones.
Para cambiar el tiempo de espera, seleccione el estado de conexión en la barra de estado de la parte inferior del cuaderno. Seleccione una de las opciones siguientes:
Establecer período de tiempo de espera de sesión: establece el tiempo en minutos antes de que se agote el tiempo de espera de la sesión. El valor predeterminado es 30 minutos.
Restablecer período de tiempo de espera de sesión: restablece el tiempo de espera de la sesión al valor predeterminado de 30 minutos.
Establecer el periodo de advertencia antes del tiempo de espera de la sesión: establece el tiempo, en minutos, antes de que venza la sesión en el que se muestra una advertencia indicando que la sesión está a punto de caducar. El valor predeterminado es de 5 minutos.
Restablecer período de advertencia de tiempo de espera de sesión: restablece la advertencia de tiempo de espera de sesión al valor predeterminado de 5 minutos.
Uso de GitHub Copilot en cuadernos
Use GitHub Copilot para ayudarle a escribir código en cuadernos. GitHub Copilot proporciona sugerencias de código y autocompletado en función del contexto de tu código. Para usar GitHub Copilot, asegúrese de que tiene instalada la extensión GitHub Copilot en Visual Studio Code.
Copie el código de los cuadernos de ejemplo para Microsoft Sentinel data lake y guárdelo en la carpeta notebooks para proporcionar contexto para GitHub Copilot. GitHub Copilot podrá sugerir finalizaciones de código en función del contexto del cuaderno.
En el ejemplo siguiente se muestra a GitHub Copilot generando una revisión de código.
Utiliza la clase Microsoft Sentinel Provider
Para conectarse al lago de datos de Microsoft Sentinel, use la MicrosoftSentinelProvider clase .
La MicrosoftSentinelProvider clase forma parte del sentinel_lake.providers módulo y proporciona métodos para interactuar con el lago de datos. Para conectar tu notebook de Spark a las tablas de data lake de Microsoft Sentinel, importa la clase y crea una instancia usando una spark sesión. El siguiente código inicializa el proveedor de datos de Sentinel Lake para que el portátil pueda consultar tablas de Microsoft Sentinel desde Spark:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Para obtener más información sobre los métodos disponibles, vea la referencia de la clase Provider de Microsoft Sentinel.
Seleccione el grupo de tiempo de ejecución adecuado.
Hay tres grupos de ejecución disponibles para ejecutar los cuadernos de Jupyter en la extensión de Microsoft Sentinel. Cada grupo está diseñado para diferentes cargas de trabajo y requisitos de rendimiento. La elección del grupo de tiempo de ejecución afecta al rendimiento, el costo y el tiempo de ejecución de los trabajos de Spark.
| Grupo de runtime | Casos de uso recomendados | Características |
|---|---|---|
| Small | Desarrollo, pruebas y análisis exploratorio ligero. Cargas de trabajo pequeñas con transformaciones sencillas. Rentabilidad priorizada. |
Adecuado para cargas de trabajo pequeñas Transformaciones sencillas. Menor costo, tiempo de ejecución más largo. |
| Medio | Trabajos ETL con combinaciones, agregaciones y entrenamiento de modelos de ML. Cargas de trabajo moderadas con transformaciones complejas. |
Rendimiento mejorado con respecto a Small. Controla el paralelismo y las operaciones moderadas que consumen mucha memoria. |
| Large | Cargas de trabajo de aprendizaje profundo y aprendizaje automático. Redistribución extensa de datos, uniones grandes o procesamiento en tiempo real. Tiempo de ejecución crítico. |
Alta capacidad de proceso y memoria. Retrasos mínimos. Ideal para cargas de trabajo grandes, complejas o con plazos ajustados. |
Nota:
Cuando se accede por primera vez, las opciones del kernel pueden tardar unos 30 segundos en cargarse.
Tras seleccionar un grupo de ejecución, la sesión puede tardar entre 3 y 5 minutos en iniciarse.
Visualización de mensajes, registros y errores
Los registros de mensajes y los mensajes de error se muestran en tres áreas de Visual Studio Code.
El panel Salida.
- En el panel Salida, seleccione Microsoft Sentinel en la lista desplegable.
- Seleccione Depurar para incluir entradas de registro detalladas.
Los mensajes en línea del cuaderno proporcionan comentarios e información sobre la ejecución de celdas de código. Estos mensajes incluyen actualizaciones de estado de ejecución, indicadores de progreso y notificaciones de error relacionadas con el código de la celda anterior
Una ventana emergente de notificación en la esquina inferior derecha de Visual Studio Code, también conocido como mensaje emergente, proporciona alertas en tiempo real y actualizaciones sobre el estado de las operaciones en el bloc de notas y la sesión de Spark. Estas notificaciones incluyen mensajes, advertencias y alertas de error, como la conexión correcta a una sesión de Spark y las advertencias de tiempo de espera.
Crear y administrar trabajos y programaciones de cuadernos
Puede programar que los trabajos se ejecuten en momentos o intervalos específicos mediante la extensión de Microsoft Sentinel para Visual Studio Code. Los trabajos permiten automatizar las tareas de procesamiento de datos para resumir, transformar o analizar datos en el lago de datos Microsoft Sentinel. Los trabajos también se usan para procesar datos y escribir resultados en tablas personalizadas en el nivel de lago de datos o en el nivel de análisis. Para obtener más información sobre cómo crear y administrar trabajos, consulte Creación y administración de trabajos de Jupyter Notebook.
Parámetros y límites de servicio para cuadernos de VS Code
En la sección siguiente se enumeran los parámetros y límites del servicio para Microsoft Sentinel data lake cuando se usan cuadernos de VS Code.
| Categoría | Parámetro/límite |
|---|---|
| Tabla personalizada en el nivel de análisis | Las tablas personalizadas del nivel de análisis no se pueden eliminar de un cuaderno; Use Log Analytics para eliminar estas tablas. Para obtener más información, consulte Agregar o eliminar tablas y columnas en Registros de Azure Monitor |
| Tiempo de espera del socket web de puerta de enlace | 2 horas |
| Tiempo de espera de consulta interactiva | 2 horas |
| Tiempo de espera por inactividad de la sesión interactiva | 20 minutos |
| Idioma | Python |
| Tiempo de espera de la consulta de Graph | 7,5 minutos |
| Tiempo de espera del trabajo del cuaderno | 8 horas |
| Número máximo de trabajos de cuaderno simultáneos | 3, los trabajos posteriores se ponen en cola |
| Número máximo de usuarios simultáneos en consultas interactivas | 8-10 en piscina grande |
| Tiempo de inicio de sesión | La sesión de proceso de Spark tarda entre 5 y 6 minutos en iniciarse. Puede ver el estado de la sesión en la parte inferior del cuaderno de VS Code. |
| Bibliotecas admitidas | Solo se admiten las bibliotecas de Azure Synapse 3.4 y la biblioteca del proveedor de Microsoft Sentinel para las funciones abstractas para consultar el lago de datos. No se admiten instalaciones pip ni bibliotecas personalizadas. |
| Límite de experiencia de usuario de VS Code para mostrar registros | 100 000 filas |
Solución de problemas
Para ver errores y soluciones comunes al trabajar con cuadernos, consulte Solución de problemas de cuadernos en el lago de datos Microsoft Sentinel.
Contenido relacionado
- Solucionar problemas de los cuadernos en el lago de datos de Microsoft Sentinel
- Crear y gestionar trabajos de cuadernos
- Cuadernos de muestra para el lago de datos de Microsoft Sentinel
- Referencia de la clase Microsoft Sentinel Provider
- introducción al lago de datos de Microsoft Sentinel
- Roles y permisos del data lake de Microsoft Sentinel