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 la integración de 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, desactivaciones o eliminaciones. Es posible que también desee recibir una alerta si hay alguna falta de aprovisionamiento, lo que indica que algo está mal.

Para más información sobre las alertas, consulte Alertas de registro de Azure Monitor. Hay muchas opciones y configuraciones, por lo que revise la documentación completa. Pero en un nivel alto, aquí se muestra cómo puede crear una alerta:

  1. En Log Analytics, seleccione + Nueva regla de alertas.
  2. En la pestaña Condición, seleccione el enlace Ver el resultado y editar la consulta en los registros.
  3. Escriba una consulta en la que desea alertar y complete los campos necesarios para crear la alerta.

Para crear una alerta cuando haya un pico en los errores:

AADProvisioningLogs
| where JobId == "string" // Customize by adding a specific app JobId
| where ResultType == "Failure"

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

AADProvisioningLogs
| take 1

Para crear una alerta cuando haya un pico en desactivaciones o eliminaciones:

AADProvisioningLogs
| where Action in ("Disable", "Delete")

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