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.
- Introducción a Azure Monitor
- Configuración de un área de trabajo de Log Analytics
- Integración de registros de actividad con registros de Azure Monitor
Para integrar los registros de aprovisionamiento con los registros de Azure Monitor:
Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de seguridad.
Vaya a Identidad>Supervisión y estado>Configuración del diagnóstico.
Elija los registros que desea transmitir, seleccione la opción Enviar al área de trabajo de Log Analytics y complete los campos.
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.
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.
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.
Alerta cuando hay un pico de 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
- Análisis de registros de actividad de Azure AD con registros de Azure Monitor
- Introducción a las consultas de registros de Azure Monitor
- Creación y administración de grupos de alertas en Azure Portal
- Instalación y uso de las vistas de análisis de registros para Microsoft Entra ID
- API de registros de aprovisionamiento