Compartir vía


Entienda cómo se integra el aprovisionamiento con los registros de Azure Monitor

El aprovisionamiento se integra con registros de Azure Monitor y Log Analytics. Con la supervisión de Azure puede hacer cosas como crear libros, también conocidos como paneles, almacenar registros de aprovisionamiento durante más de 30 días y crear consultas y alertas personalizadas. En este artículo se describe cómo se integran los registros de aprovisionamiento con los registros de Azure Monitor. Para obtener más información sobre cómo funcionan los registros de aprovisionamiento en general, vea Registros de aprovisionamiento.

Habilitación de los registros de aprovisionamiento

Si aún no está familiarizado con Azure Monitor y Log Analytics, explore los siguientes recursos y vuelva para obtener información sobre la integración de registros de aprovisionamiento de aplicaciones con registros de Azure Monitor.

Para integrar los registros de aprovisionamiento con los registros de Azure Monitor:

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de seguridad.

  2. Crear un área de trabajo de Log Analytics.

  3. Vaya a Identidad>Supervisión y estado>Configuración del diagnóstico.

    Recorte de pantalla de acceso a la configuración de diagnóstico.

  4. Elija los registros que desea transmitir, seleccione la opción Enviar al área de trabajo de Log Analytics y complete los campos.

    Recorte de pantalla de la habilitación de registros de aprovisionamiento de aplicaciones.

  5. Vaya a Identidad>Supervisión y estado>Log Analytics y empiece a consultar los datos.

Nota:

Los registros pueden tardar algún tiempo en aparecer en Log Analytics después de habilitar la integración por primera vez. Si recibe un error que le indica que la suscripción no está registrada para usar microsoft.insights, vuelva a realizar la comprobación después de unos minutos.

Descripción de los datos

El flujo de datos subyacente que el aprovisionamiento envía a los visores de registro es casi idéntico. Los registros de Azure Monitor obtienen casi la misma secuencia que el Centro de administración de Microsoft Entra y Microsoft Graph API. Hay algunas diferencias en los campos de registro, como se describe en la tabla siguiente. Log Analytics puede mostrar más eventos que los registros en el Centro de administración de Microsoft Entra. Para obtener más información sobre estos campos, consulte el artículo sobre la lista provisioningObjectSummary.

Registros de Azure Monitor Interfaz de usuario de Azure Portal API de Azure
errorDescription reason resultDescription
status resultType resultType
activityDateTime TimeGenerated TimeGenerated

Libros de Microsoft Entra

Los libros de identidad de Microsoft Entra proporcionan un lienzo flexible para el análisis de datos. También permiten la creación de informes visuales completos en Azure Portal. Para obtener más información, consulte libros de Microsoft Entra.

Provisioning Analysis y Provisioning Insights son dos de los libros de trabajo predefinidos disponibles. Para ver los datos, asegúrese de que se rellenen todos los filtros (timeRange, jobID y appName). Confirme también que la aplicación se haya aprovisionado, de lo contrario, no hay ningún dato en los registros.

Libros de aprovisionamiento de aplicaciones

Panel de aprovisionamiento de aplicaciones

Consultas personalizadas

Puede crear consultas personalizadas y mostrar los datos en los libros. Para obtener información sobre cómo hacerlo, consulte Introducción a las consultas de registro en Azure Monitor y Consultas de registro en Azure Monitor.

Estos son algunos ejemplos para empezar a trabajar con las consultas de registro de aprovisionamiento de aplicaciones.

Consulte los registros de un usuario en función de su identificador en el sistema de origen:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"

Resumen del recuento por ErrorCode:

AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature

Resumen del recuento de eventos al día por acción:

AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)

Tome 100 eventos y las propiedades clave del proyecto:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100

Recupere grupos con miembros omitidos debido a problemas para resolver referencias.

AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId,  JobId
| take 100

Resumir acciones por aplicación.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5

Identificar picos en operaciones específicas.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart

Alertas personalizadas

Azure Monitor le permite configurar alertas personalizadas para que pueda recibir notificaciones sobre eventos clave relacionados con el aprovisionamiento. Por ejemplo, es posible que quiera recibir una alerta en caso de picos de errores. O quizás en caso de picos de deshabilitaciones o eliminaciones. Otro ejemplo de cuándo puede querer recibir alertas es la falta de aprovisionamiento, lo que indica que algo no va bien.

Para más información sobre las alertas, consulte Alertas de registro de Azure Monitor.

Alerta cuando hay un pico de errores. Reemplace jobID por el valor jobID de la aplicación.

Recorte de pantalla de una alerta cuando hay un pico en los errores.

Podría haber un problema que provocaba que el servicio de aprovisionamiento dejara de ejecutarse. Use la siguiente alerta para detectar cuándo no hay ningún evento de aprovisionamiento durante un intervalo determinado.

Recorte de pantalla de un mensaje de error del registro de aprovisionamiento.

Alerta cuando hay un pico de deshabilitaciones o eliminaciones.

Recorte de pantalla de una alerta cuando hay un pico en deshabilitaciones o eliminaciones.

Contribuciones de la comunidad

Se está adoptando un enfoque de código abierto basado en la comunidad para las consultas y los paneles de aprovisionamiento de aplicaciones. Cree una consulta, alerta o libro que crea que es útil para otros y, después, publíquelo en el repositorio de GitHub de AzureMonitorCommunity. Envíenos un correo electrónico con un vínculo. Revisamos y publicamos consultas y paneles en el servicio para que otros también se beneficien. Póngase en contacto con nosotros en provisioningfeedback@microsoft.com.

Pasos siguientes