🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónTablas y esquema de Log Analytics
4 tareas · 36 min · Principiante
Antes de escribir una sola búsqueda hay que saber dónde están los datos. En Azure, los registros de identidad, de gestión y de alertas se guardan en tablas de un espacio de trabajo de Log Analytics, y KQL es el lenguaje con el que se leen. La Clínica Veterinaria Mastranto, una empresa inventada, te deja leer su espacio. Aquí aprendes qué tablas existen, qué trae cada una y cómo preguntarle a una tabla cómo es sin adivinar. La consola reconoce un conjunto de consultas previstas, las que cada tarea te indica, y devuelve filas de ejemplo. Todo es lectura, en UTC.
Objetivo de la sala
Antes de escribir una sola búsqueda hay que saber dónde están los datos. En Azure, los registros de identidad, de gestión y de alertas se guardan en tablas de un espacio de trabajo de Log Analytics, y KQL es el lenguaje con el que se leen. La Clínica Veterinaria Mastranto, una empresa inventada, te deja leer su espacio. Aquí aprendes qué tablas existen, qué trae cada una y cómo preguntarle a una tabla cómo es sin adivinar. La consola reconoce un conjunto de consultas previstas, las que cada tarea te indica, y devuelve filas de ejemplo. Todo es lectura, en UTC.Un espacio de trabajo de Log Analytics es un almacén de registros organizado en tablas. Cada tabla guarda un tipo de registro y tiene columnas con nombre y tipo. Una consulta en KQL empieza por el nombre de una tabla y cada paso siguiente va detrás de una barra vertical |, de modo que los datos fluyen de izquierda a derecha, igual que en una tubería.
Para un defensor, cuatro tablas dan casi toda la primera vista de un incidente en Azure: SigninLogs (los intentos de inicio de sesión de Entra), AuditLogs (los cambios en el directorio de Entra, como altas de usuarios o de roles), AzureActivity (las operaciones de gestión sobre los recursos de la suscripción) y SecurityAlert (las alertas que escriben los productos de seguridad). Fíjate en el panel de la izquierda: están las cuatro, con sus columnas.
Responde para continuar
Quieres revisar quién intentó entrar a la cuenta de un empleado, con su dirección de origen y su resultado. ¿Qué tabla lees?
Ver pista de ayuda
La pregunta es sobre intentos de entrada, no sobre cambios hechos después de entrar.
Dos operadores sirven para conocer una tabla sin leerla entera. take 5 devuelve cinco filas cualesquiera: sirve para ver cómo luce, no para concluir nada, porque no garantiza cuáles trae. count devuelve una sola fila con el número de filas que llegan hasta ese paso. Saber cuántas filas hay es lo primero que se pregunta antes de decidir si una consulta cabe o hay que acotarla.
Prueba en la consola SigninLogs | take 5 y luego SigninLogs | count. La columna TimeGenerated, de tipo datetime, es la hora (en UTC) en que se creó el registro y es la columna por la que casi siempre se acota el tiempo.
Responde para continuar
¿Cuántas filas tiene la tabla SigninLogs en este extracto? Escribe solo el número.
Ver pista de ayuda
Escribe `SigninLogs | count` y lee la única celda del resultado.
No hace falta memorizar las columnas de cada tabla. getschema no devuelve datos: devuelve una fila por columna, con su nombre (ColumnName), su posición contada desde cero (ColumnOrdinal) y su tipo (ColumnType). Es la forma de saber, antes de comparar, si una columna es texto, número, fecha u objeto.
El tipo importa porque KQL compara cada valor con su propio tipo. Una columna de texto se compara con texto entre comillas; una fecha con una fecha. Mirar el tipo antes de filtrar evita consultas que no devuelven nada por un detalle de forma.
Responde para continuar
Según el esquema de SigninLogs, ¿de qué tipo (ColumnType) es la columna ResultType?
Ver pista de ayuda
Escribe `SigninLogs | getschema` y busca la fila de ResultType.
Cada tabla responde a un tipo de pregunta. «Quién entró» está en SigninLogs; «quién cambió un rol o creó un usuario en el directorio» en AuditLogs; «quién creó, cambió o borró un recurso de Azure» en AzureActivity; «qué alertas se recibieron» en SecurityAlert. Por eso una investigación casi siempre toca varias tablas, y la siguiente sala empieza a filtrar una de ellas.
Un detalle de lectura: InitiatedBy y TargetResources de AuditLogs son de tipo dynamic, es decir, guardan un objeto con campos dentro, no un texto plano. Se leen entrando al objeto con un punto, y se verá más adelante.
Responde para continuar
Alguien creó una cuenta de almacenamiento en la suscripción y quieres saber quién fue. ¿Qué tabla miras primero?
Ver pista de ayuda
Crear una cuenta de almacenamiento es una operación de gestión sobre un recurso de Azure.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.