Supervisión de Azure AD B2C con Azure Monitor

Use Azure Monitor para enrutar los registros de inicio de sesión y auditoría de Azure Active Directory B2C (Azure AD B2C) a distintas soluciones de supervisión. Puede conservar los registros para su uso a largo plazo o integrarlos en herramientas de Administración de eventos e información de seguridad (SIEM) de terceros para sacar conclusiones sobre su entorno.

Puede enrutar los eventos de registro a:

Azure Monitor

Al planear la transferencia de registros de Azure AD B2C a diferentes soluciones de supervisión, o repositorio, tenga en cuenta que los registros de Azure AD B2C contienen datos personales. Al procesar estos datos, asegúrese de usar las medidas de seguridad adecuadas para los datos personales. Entre estas se incluye protección contra el procesamiento no autorizado o ilegal mediante las medidas técnicas u organizativas adecuadas.

En este artículo, aprenderá a transferir los registros a un área de trabajo de Azure Log Analytics. Después, puede crear un panel o crear alertas basadas en las actividades de los usuarios en Azure AD B2C.

Vea este vídeo para aprender a configurar la supervisión de Azure AD B2C mediante Azure Monitor.

Introducción a la implementación

Azure AD B2C usa la supervisión de Microsoft Entra. A diferencia de los inquilinos de Microsoft Entra, un inquilino de Azure AD B2C no puede tener una suscripción asociada. Por lo tanto, es necesario realizar algunos pasos adicionales para habilitar la integración entre Azure AD B2C y Log Analytics, que es donde se enviarán los registros. Para habilitar la configuración de diagnóstico en Microsoft Entra ID dentro de su inquilino de Azure AD B2C, use Azure Lighthouse para delegar un recurso, lo que permite que su instancia de Azure AD B2C (el proveedor de servicios) administre un recurso de Microsoft Entra ID (el cliente).

Sugerencia

Azure Lighthouse se usa normalmente para administrar recursos de varios clientes. Sin embargo, también se puede usar para administrar recursos dentro de una empresa que tenga varios inquilinos de Microsoft Entra propios, que es lo que estamos haciendo aquí, salvo que solo delegamos la administración de un único grupo de recursos.

Después de completar los pasos de este artículo, habrá creado un grupo de recursos (aquí denominado azure-ad-b2c-monitor) y tendrá acceso a este, que contiene el área de trabajo de Log Analytics en el portal de Azure AD B2C. También podrá transferir los registros desde Azure AD B2C al área de trabajo de Log Analytics.

Durante esta implementación, autorizará a un usuario o grupo en el directorio de Azure AD B2C para configurar la instancia del área de trabajo de Log Analytics en el inquilino que contiene su suscripción a Azure. Para crear la autorización, implemente una plantilla de Azure Resource Manager en la suscripción que contiene el área de trabajo de Log Analytics.

En el siguiente diagrama se muestran los componentes que se configurarán en los inquilinos de Microsoft Entra ID y Azure AD B2C.

Resource group projection

Durante esta implementación, configurará el inquilino de Azure AD B2C donde se generan los registros. También configurará el inquilino de Microsoft Entra donde se hospedará el área de trabajo de Log Analytics. Las cuentas de Azure AD B2C utilizadas (como su cuenta de administrador) deben asignarse al rol Administrador global en el inquilino de Azure AD B2C. La cuenta de Microsoft Entra que usará para ejecutar la implementación debe tener asignado el rol Propietario en la suscripción de Microsoft Entra. También es importante asegurarse de que ha iniciado sesión en el directorio correcto a medida que completa cada paso tal y como se describe.

En resumen, usará Azure Lighthouse para permitir que un usuario o grupo del inquilino de Azure AD B2C administre un grupo de recursos en una suscripción asociada a otro inquilino (el inquilino de Microsoft Entra). Una vez completada esta autorización, la suscripción y el área de trabajo de Log Analytics se pueden seleccionar como destino en la configuración de diagnóstico de Azure AD B2C.

Prerrequisitos

1. Crear o elegir un grupo de recursos

En primer lugar, cree o elija un grupo de recursos que contenga el área de trabajo de Log Analytics de destino que recibirá los datos de Azure AD B2C. El nombre del grupo de recursos se especificará al implementar la plantilla de Azure Resource Manager.

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.
  3. Cree un grupo de recursos o elija uno existente. En este ejemplo, se usa un grupo de recursos denominado azure-ad-b2c-monitor.

2. Creación de un área de trabajo de Log Analytics

Un área de trabajo de Log Analytics es un entorno único de datos de registro de Azure Monitor. Esta área de trabajo de Log Analytics se usará para recopilar datos de los registros de auditoría de Azure AD B2C y, a continuación, visualizarlos con consultas y libros o crear alertas.

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.
  3. Crear un área de trabajo de Log Analytics. En este ejemplo se usa un área de trabajo de Log Analytics denominada AzureAdB2C, en un grupo de recursos denominado azure-ad-b2c-monitor.

3. Administración de recursos delegados

En este paso, se elige el inquilino de Azure AD B2C como proveedor de servicios. También puede definir las autorizaciones que necesite para asignar los roles integrados de Azure adecuados a grupos de su inquilino de Microsoft Entra.

3.1 Obtención del identificador de inquilino de Azure AD B2C

En primer lugar, obtenga el identificador de inquilino del directorio de Azure AD B2C (también conocido como identificador de directorio).

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
  3. Seleccione Microsoft Entra ID y elija Información general.
  4. Anote el Identificador de inquilino.

3.2 Selección de un grupo de seguridad

Seleccione ahora un grupo o usuario de Azure AD B2C al que desee conceder permiso para el grupo de recursos que creó anteriormente en el directorio que contiene la suscripción.

Para facilitar la administración, se recomienda usar grupos de usuarios de Microsoft Entra para cada rol, y así poder agregar o quitar usuarios individuales en el grupo, en lugar de asignar permisos directamente a ese usuario. En este tutorial, se agregará un grupo de seguridad.

Importante

Para agregar permisos a un grupo de Microsoft Entra, la opción Tipo de grupo debe establecerse en Seguridad. Esta opción se selecciona cuando se crea el grupo. Para más información, consulte Creación de un grupo básico e incorporación de miembros con Microsoft Entra ID.

  1. Con Microsoft Entra ID todavía seleccionado en el directorio de Azure AD B2C, seleccione Grupos y, luego, elija un grupo. Si no tiene un grupo existente, cree un grupo de seguridad y, a continuación, agregue miembros. Para más información, siga el procedimiento que se describe en Creación de un grupo básico e incorporación de miembros con Microsoft Entra ID.
  2. Seleccione información general y anote el identificador de objeto del grupo.

3.3. Creación de una plantilla de Azure Resource Manager

Para crear la autorización y delegación personalizadas en Azure Lighthouse, se usa una plantilla de Azure Resource Manager. Esta plantilla concede a Azure AD B2C acceso al grupo de recursos de Microsoft Entra que creó anteriormente (por ejemplo, azure-ad-b2c-monitor). Implemente la plantilla desde el ejemplo de GitHub mediante el botón Deploy to Azure (Implementar en Azure), que abre Azure Portal y le permite configurar e implementar la plantilla directamente en el portal. Para estos pasos, asegúrese de que ha iniciado sesión en su inquilino de Microsoft Entra (no en el inquilino de Azure AD B2C).

  1. Inicie sesión en Azure Portal.

  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.

  3. Use el botón Deploy to Azure (Implementar en Azure) para abrir Azure Portal e implementar la plantilla directamente en el portal. Para más información, consulte Creación de una plantilla de Azure Resource Manager.

    Deploy to Azure

  4. En la página Implementación personalizada, especifique la siguiente información:

    Campo Definición
    Suscripción Seleccione el directorio que contiene la suscripción de Azure en la que se creó el grupo de recursos azure-ad-b2c-monitor.
    Region Elija la región donde se va a implementar el recurso.
    Nombre de la oferta de MSP Nombre que describe esta definición. Por ejemplo, Supervisión de Azure AD B2C. Es el nombre que se mostrará en Azure Lighthouse. El nombre de la oferta de MSP debe ser único en Microsoft Entra ID. Para supervisar varios inquilinos de Azure AD B2C, use nombres diferentes.
    Descripción de la oferta de MSP Descripción breve de la oferta. Por ejemplo, Enables Azure Monitor in Azure AD B2C.
    Administrado por identificador de inquilino El identificador de inquilino del inquilino de Azure AD B2C (también conocido como identificador de directorio).
    Autorizaciones Especifique una matriz JSON de objetos que incluya el valor de principalId, principalIdDisplayName de Microsoft Entra ID y el valor roleDefinitionId de Azure. principalId es el identificador de objeto del grupo o usuario de B2C que tendrá acceso a los recursos de esta suscripción a Azure. Para este tutorial, especifique el identificador de objeto del grupo que anotó anteriormente. Para roleDefinitionId, use el valor rol integrado para el rol Colaborador, b24988ac-6180-42a0-ab88-20f7382dd24c.
    Nombre del grupo de recursos Nombre del grupo de recursos que creó anteriormente en el inquilino de Microsoft Entra. Por ejemplo, azure-ad-b2c-monitor.

    En el ejemplo siguiente se muestra una matriz de autorizaciones con un grupo de seguridad.

    [
      {
        "principalId": "<Replace with group's OBJECT ID>",
        "principalIdDisplayName": "Azure AD B2C tenant administrators",
        "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
      }
    ]
    

Después de implementar la plantilla, la proyección de recursos puede tardar unos minutos en completarse (habitualmente menos de 5 minutos). Puede comprobar la implementación en el inquilino de Microsoft Entra y obtener los detalles de la proyección de recursos. Para obtener más información, consulte Visualización y administración de proveedores de servicios.

4. Seleccione su suscripción.

Una vez que haya implementado la plantilla y esperado unos minutos a que se complete la proyección de recursos, siga estos pasos para asociar la suscripción al directorio de Azure AD B2C.

Nota:

En la página Configuración del portal | Directorios y suscripciones, asegúrese de que los inquilinos de Azure AD B2C y Microsoft Entra ID estén seleccionados en Directorios actuales y delegados.

  1. Cierre sesión en Azure Portal e inicie sesión con su cuenta administrativa de Azure AD B2C. Esta cuenta debe ser miembro del grupo de seguridad que especificó en el paso Administración de recursos delegados. Cerrar sesión y volver a iniciarla permite actualizar las credenciales de sesión en el paso siguiente.

  2. Seleccione el icono Configuración en la barra de herramientas del portal.

  3. En la página Configuración del portal | Directorios y suscripciones, en la lista Nombre de directorio, busque el directorio de Microsoft Entra ID que contiene la suscripción de Azure y el grupo de recursos azure-ad-b2c-monitor que ha creado y, después, seleccione Cambiar.

  4. Compruebe que ha seleccionado el directorio correcto y que la suscripción de Azure aparece y está seleccionada en el filtro Suscripción predeterminada.

    Screenshot of the default subscription filter

5. Configuración de valores de diagnóstico

La configuración de diagnóstico define dónde se deben enviar los registros y las métricas de un recurso. Los posibles destinos son:

En este ejemplo, se usa el área de trabajo de Log Analytics para crear un panel.

5.1 Creación de configuración de diagnóstico

Ya está listo para crear configuraciones de diagnóstico en Azure Portal.

Para establecer la configuración de supervisión de los registros de actividad de Azure AD B2C:

  1. Inicie sesión en Azure Portal con su cuenta de administrador de Azure AD B2C. Esta cuenta debe ser miembro del grupo de seguridad que especificó en el paso Selección de un grupo de seguridad.

  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino de Azure AD B2C desde el menú Directorios y suscripciones.

  3. Seleccione Microsoft Entra ID.

  4. En Supervisión, seleccione Configuración de diagnóstico.

  5. Si hay una configuración para el recurso, verá una lista de opciones ya configuradas. Puede seleccionar Agregar configuración de diagnóstico para agregar una nueva configuración o Editar configuración para modificar una existente. Cada configuración no puede tener más de uno de los tipos de destino.

    Screenshot of the diagnostics settings pane in Azure portal.

  6. Asigne un nombre a la configuración, si aún no lo tiene.

  7. Seleccione AuditLogs y SignInLogs.

  8. Seleccione Enviar al área de trabajo de Log Analytics y, a continuación, haga lo siguiente:

    1. En Suscripción, seleccione la suscripción.
    2. En Área de trabajo de Log Analytics, seleccione el nombre del área de trabajo que creó anteriormente: AzureAdB2C.

    Nota:

    Actualmente solo se admiten las opciones de diagnóstico AuditLogs y SignInLogs para inquilinos de Active Directory B2C.

  9. Seleccione Guardar.

Nota:

Pueden transcurrir hasta 15 minutos para que un evento emitido aparezca en un área de trabajo de Log Analytics. Obtenga más información acerca de las latencias de informes de Active Directory, que pueden afectar a la obsolescencia de los datos y desempeñar un papel importante en la generación de informes.

Si ve el mensaje de error To set up Diagnostic settings to use Azure Monitor for your Azure AD B2C directory, you need to set up delegated resource management (Para configurar los valores de diagnóstico para usar Azure Monitor para el directorio de Azure AD B2C, debe configurar la administración de recursos delegada), asegúrese de iniciar sesión con un usuario que sea miembro del grupo de seguridad y seleccione su suscripción.

6. Visualización de los datos

Ahora puede configurar el área de trabajo de Log Analytics para visualizar los datos y configurar alertas. Estas configuraciones se pueden realizar tanto en el inquilino de Microsoft Entra como en el inquilino de Azure AD B2C.

6.1 Creación de una consulta

Las consultas de registro ayudan a usar al máximo el valor de los datos recopilados en los registros de Azure Monitor. Un lenguaje de consulta eficaz permite combinar datos de varias tablas, agregar grandes conjuntos de datos y realizar operaciones complejas con una mínima cantidad de código. Se puede responder casi cualquier pregunta y realizar cualquier análisis, siempre y cuando se hayan recopilado los datos de respaldo y comprenda cómo construir la consulta adecuada. Para más información, consulte Introducción a las consultas de registro en Azure Monitor.

  1. Inicie sesión en Azure Portal.

  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.

  3. En la ventana Área de trabajo de Log Analytics, seleccione Registros.

  4. En el editor de consultas, pegue la siguiente consulta del lenguaje de consulta Kusto. Esta consulta muestra el uso de la directiva por operación durante los últimos X días. El período predeterminado está establecido en 90 días (90d). Tenga en cuenta que la consulta solo se centra en operaciones en las que se emite un token o código mediante la directiva.

    AuditLogs
    | where TimeGenerated  > ago(90d)
    | where OperationName contains "issue"
    | extend  UserId=extractjson("$.[0].id",tostring(TargetResources))
    | extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails))
    | summarize SignInCount = count() by Policy, OperationName
    | order by SignInCount desc  nulls last
    
  5. Seleccione Run (Ejecutar). Los resultados de la consulta se muestran en la parte inferior de la pantalla.

  6. Para guardar la consulta para su uso posterior, seleccione Guardar.

    Log Analytics log editor

  7. Rellene la siguiente información:

    • Nombre: escriba el nombre de la consulta.
    • Guardar como: seleccione query.
    • Categoría: seleccione Log.
  8. Seleccione Guardar.

También puede cambiar la consulta para visualizar los datos mediante el operador render.

AuditLogs
| where TimeGenerated  > ago(90d)
| where OperationName contains "issue"
| extend  UserId=extractjson("$.[0].id",tostring(TargetResources))
| extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails))
| summarize SignInCount = count() by Policy
| order by SignInCount desc  nulls last
| render  piechart

Log Analytics log editor pie

Para obtener más ejemplos, consulte el repositorio de GitHub SIEM de Azure AD B2C.

6.2 Creación de un libro

Los libros proporcionan un lienzo flexible para el análisis de datos y la creación de informes visuales completos en el Azure Portal. Permiten acceder a varios orígenes de datos desde Azure y combinarlos en experiencias interactivas unificadas. Para más información, consulte Libros de Azure Monitor.

Siga las instrucciones que se indican a continuación para crear un nuevo libro mediante una plantilla de la galería de JSON. En este libro se proporciona un panel de Información del usuario y Autenticación para el inquilino de Azure AD B2C.

  1. Inicie sesión en Azure Portal.

  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.

  3. En la ventana Área de trabajo de Log Analytics, seleccione Libros.

  4. En la barra de herramientas, seleccione la opción + Nuevo para crear un nuevo libro.

  5. En la página Nuevo libro, seleccione el Editor avanzado mediante la opción </> de la barra de herramientas.

    Gallery Template

  6. Seleccione Plantilla de la galería.

  7. Reemplace el archivo JSON de Plantilla de la galería por el contenido del libro básico de Azure AD B2C:

  8. Aplique la plantilla mediante el botón Aplicar.

  9. Seleccione Edición finalizada en la barra de herramientas para finalizar la edición del libro.

  10. Por último, guarde el libro mediante el botón Guardar de la barra de herramientas.

  11. Proporcione un título, como Panel de Azure AD B2C.

  12. Seleccione Guardar.

    Save the workbook

El libro mostrará los informes en forma de panel.

Workbook first dashboard

Workbook second dashboard

Workbook third dashboard

Creación de alertas

Las alertas se crean mediante reglas de alertas en Azure Monitor y pueden ejecutar automáticamente consultas guardadas o búsquedas de registros personalizadas a intervalos regulares. Puede crear alertas basadas en métricas de rendimiento específicas o cuando se produzcan determinados eventos. También puede crear alertas en ausencia de un evento o cuando se produzca un número de eventos en un período de tiempo determinado. Por ejemplo, las alertas se pueden usar para recibir una notificación cuando el promedio de inicios de sesión supere un determinado umbral. Para más información, consulte Creación de alertas.

Use las instrucciones siguientes para crear una alerta de Azure, que enviará una notificación de correo electrónico siempre que haya un descenso del 25 % en el total de solicitudes en comparación con el período anterior. La alerta se ejecutará cada cinco minutos y buscará el descenso en la última hora en comparación con la hora anterior. Las alertas se crean mediante el lenguaje de consulta Kusto.

  1. Inicie sesión en Azure Portal.

  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.

  3. En el área de trabajo de Log Analytics, seleccione Registros.

  4. Use esta consulta para crear una nueva consulta de Kusto.

    let start = ago(2h);
    let end = now();
    let threshold = -25; //25% decrease in total requests.
    AuditLogs
    | serialize TimeGenerated, CorrelationId, Result
    | make-series TotalRequests=dcount(CorrelationId) on TimeGenerated from start to end step 1h
    | mvexpand TimeGenerated, TotalRequests
    | serialize TotalRequests, TimeGenerated, TimeGeneratedFormatted=format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd [HH:mm:ss]')
    | project   TimeGeneratedFormatted, TotalRequests, PercentageChange= ((toreal(TotalRequests) - toreal(prev(TotalRequests,1)))/toreal(prev(TotalRequests,1)))*100
    | order by TimeGeneratedFormatted desc
    | where PercentageChange <= threshold   //Trigger's alert rule if matched.
    
  5. Seleccione Ejecutar para probar la consulta. Debería ver los resultados si hay una disminución del 25 % o más en el total de solicitudes en la última hora.

  6. Para crear una regla de alerta basada en esta consulta, use la opción + Nueva regla de alertas disponible en la barra de herramientas.

  7. En la página Crear regla de alerta, seleccione Nombre de la condición.

  8. En la página Configurar la lógica de la señal, establezca los valores siguientes y, a continuación, use el botón Listo para guardar los cambios.

    • Lógica de alerta: establezca Número de resultadosMayor que0.
    • Evaluación basada en: Seleccione 120 para el período (en minutos) y 5 para la frecuencia (en minutos).

    Create a alert rule condition

Una vez creada la alerta, vaya al área de trabajo de Log Analytics y seleccione Alertas. En esta página se muestran todas las alertas que se han desencadenado en el período establecido por la opción Intervalo de tiempo.

Configuración de grupos de acciones

Las alertas de Azure Monitor y Service Health usan grupos de acciones para notificar a los usuarios que se ha desencadenado una alerta. Puede incluir el envío de llamadas de voz, mensajes de texto o correo electrónico o el desencadenamiento de varios tipos de acciones automatizadas. Siga la guía Creación y administración de grupos de acciones en Azure Portal.

A continuación se incluye un ejemplo de un correo electrónico de notificación de alerta.

Email notification

Varios inquilinos

Para incorporar varios registros de inquilino de Azure AD B2C a la misma área de trabajo de Log Analytics (o a una cuenta de Azure Storage o instancia de Event Hubs), necesitará implementaciones independientes con distintos valores de nombre de oferta de MSP. Asegúrese de que el área de trabajo de Log Analytics se encuentra en el mismo grupo de recursos que el que ha configurado en Crear o elegir un grupo de recursos.

Cuando trabaje con varias áreas de trabajo de Log Analytics, use consultas entre áreas de trabajo para crear consultas que funcionen en varias áreas de trabajo. Por ejemplo, la consulta siguiente realiza una unión de dos registros de auditoría de distintos inquilinos basados en la misma categoría (por ejemplo, autenticación):

workspace("AD-B2C-TENANT1").AuditLogs
| join  workspace("AD-B2C-TENANT2").AuditLogs
  on $left.Category== $right.Category

Cambio del período de retención de datos

Los registros de Azure Monitor están diseñados para escalar y admitir la recopilación, indexación y almacenamiento de grandes cantidades de datos por día provenientes de cualquier origen dentro de su empresa o implementados en Azure. De forma predeterminada, los registros se conservan durante 30 días, pero la duración de la retención se puede aumentar hasta 2 años. Obtenga información acerca de cómo administrar el uso y los costos con los registros de Azure Monitor. Después de seleccionar el plan de tarifa, puede cambiar el período de retención de datos.

Deshabilitar supervisión y recopilación de datos

Para dejar de recopilar registros en el área de trabajo de Log Analytics, elimine la configuración de diagnóstico que ha creado. Seguirá incurriendo en cargos por conservar los datos de registro que ya ha recopilado en el área de trabajo. Si ya no necesita los datos de supervisión que ha recopilado, puede eliminar el área de trabajo de Log Analytics y el grupo de recursos que ha creado para Azure Monitor. Al eliminar el área de trabajo de Log Analytics, se eliminan todos los datos del área de trabajo y se impide incurrir en cargos de retención de datos adicionales.

Eliminación del área de trabajo y el grupo de recursos de Log Analytics

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar al inquilino del Microsoft Entra ID desde el menú Directorios y suscripciones.
  3. Elija el grupo de recursos que contiene el área de trabajo de Log Analytics. En este ejemplo, se usa un grupo de recursos denominado azure-ad-b2c-monitor y un área de trabajo de Log Analytics denominada AzureAdB2C.
  4. Elimine el área de trabajo de Log Analytics.
  5. Seleccione el botón Eliminar para eliminar el grupo de recursos.

Pasos siguientes