Compartir a través de


Archivado de registros e informes sobre la administración de derechos en Azure Monitor

Microsoft Entra ID almacena los eventos de auditoría durante un máximo de 30 días en el registro de auditoría. No obstante, puede conservar los datos de auditoría por un tiempo mayor que el período de retención predeterminado que se describe en ¿Durante cuánto tiempo Microsoft Entra ID almacena los datos de informes?; para ello, enrútelos a una cuenta de Azure Storage o utilice Azure Monitor. A continuación, puede usar libros y consultas e informes personalizados en estos datos.

Configuración del identificador de Microsoft Entra para usar Azure Monitor

Sugerencia

Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienza.

Antes de usar los libros de Azure Monitor, debe configurar Microsoft Entra ID para enviar una copia de sus registros de auditoría a Azure Monitor.

El archivado de los registros de auditoría de Microsoft Entra requiere tener Azure Monitor en una suscripción de Azure. Puede obtener más información sobre los requisitos previos y los costos estimados de usar Azure Monitor en Registros de actividad de Microsoft Entra en Azure Monitor.

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de seguridad. Asegúrese de tener acceso al grupo de recursos que contiene el área de trabajo de Azure Monitor.

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

  3. Compruebe si ya hay una opción para enviar los registros de auditoría a esa área de trabajo.

  4. Si no hay una opción de configuración, seleccione Agregar configuración de diagnóstico. Siga las instrucciones del artículo Integración de registros de Azure Monitor con registros de Azure Monitor para enviar el registro de auditoría de Microsoft Entra al área de trabajo de Azure Monitor.

    Panel Configuración de diagnóstico.

  5. Después de enviar el registro a Azure Monitor, seleccione Áreas de trabajo de Log Analytics y seleccione el área de trabajo que contiene los registros de auditoría de Microsoft Entra.

  6. Seleccione Uso y costos estimados y seleccione Retención de datos. Cambie el control deslizante al número de días que desea conservar los datos para cumplir los requisitos de auditoría.

    Panel Áreas de trabajo de Log Analytics.

  7. Más adelante, para ver el intervalo de fechas que se mantiene en su área de trabajo, puede usar el libro Intervalo de fechas de registros archivados:

    1. Vaya a Identidad>Supervisión y estado>Libros.

    2. Expanda la sección Solución de problemas de Microsoft Entra y seleccione Intervalo de fechas de registros archivados.

Ver los eventos de un paquete de acceso

Para ver los eventos de un paquete de acceso, debe tener acceso al área de trabajo subyacente de Azure Monitor (consulte Administración del acceso a los datos de registro y las áreas de trabajo en Azure Monitor para obtener información) y en uno de los roles siguientes:

  • Administrador global
  • Administrador de seguridad
  • Lector de seguridad
  • Lector de informes
  • Administrador de aplicaciones

Use el procedimiento siguiente para ver los eventos:

  1. En el centro de administración de Microsoft Entra, seleccione Identidad y, después, Libros. Si solo tiene una suscripción, vaya al paso 3.

  2. Si tiene varias suscripciones, seleccione la suscripción que contenga el área de trabajo.

  3. Seleccione el libro llamado Actividad de acceso a paquetes.

  4. En ese libro, seleccione un intervalo de tiempo (cambie a Todo si no está seguro) y seleccione un identificador de paquete de acceso en la lista desplegable de todos los paquetes de acceso que tenían actividad durante ese intervalo de tiempo. Se muestran los eventos relacionados con el paquete de acceso que se produjo durante el intervalo de tiempo seleccionado.

    Ver eventos de paquete de acceso.

    Cada fila incluye la hora, el identificador de paquete de acceso, el nombre de la operación, el identificador de objeto, el UPN y el nombre para mostrar del usuario que inició la operación. En JSON se incluyen más detalles.

  5. Si quiere ver si ha habido cambios en las asignaciones de roles de aplicación para una aplicación cuya causa no fueron asignaciones de paquetes de acceso, como, por ejemplo, a través de un administrador global que asigna directamente un usuario a un rol de aplicación, puede seleccionar el libro denominado Actividad de asignación de roles de aplicación.

    Visualización de asignaciones de roles de la aplicación.

Creación de consultas personalizadas de Azure Monitor mediante el Centro de administración de Microsoft Entra

Puede crear sus propias consultas en eventos de auditoría de Microsoft Entra, incluidos los eventos de administración de derechos.

  1. En Identidad dentro del centro de administración de Microsoft Entra, seleccione Registros en la sección Supervisión del menú de navegación de la izquierda para crear una nueva página de consulta.

  2. El área de trabajo se debe mostrar en la parte superior izquierda de la página de consulta. Si tiene varias áreas de trabajo de Azure Monitor y el área de trabajo que usa para almacenar eventos de auditoría de Microsoft Entra no se muestra, seleccione Seleccionar ámbito. A continuación, selecciona la suscripción y el área de trabajo correctas.

  3. A continuación, en el área de texto de la consulta, elimina la cadena "search *" y reemplázala por la siguiente consulta:

    AuditLogs | where Category == "EntitlementManagement"
    
  4. Luego, selecciona Ejecutar.

    selecciona Ejecutar para iniciar la consulta.

De forma predeterminada, la tabla muestra los eventos del registro de auditoría para la administración de derechos de la última hora. Puedes cambiar el valor de "Intervalo de tiempo" para ver los eventos anteriores. Sin embargo, si se cambia esta configuración, solo se mostrarán los eventos que se produjeron después de que se haya configurado Microsoft Entra ID para enviar eventos a Azure Monitor.

Si deseas conocer los eventos de auditoría más antiguos y más recientes contenidos en Azure Monitor, usa la siguiente consulta:

AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type

Para obtener más información sobre las columnas que se almacenan para los eventos de auditoría en Azure Monitor, consulta Interpretación del esquema de registros de auditoría de Microsoft Entra en Azure Monitor.

Creación de consultas personalizadas de Azure Monitor mediante Azure PowerShell

Puedes acceder a los registros a través de PowerShell después de configurar el identificador de Entra de Microsoft para enviar registros a Azure Monitor. A continuación, envía consultas desde scripts o desde la línea de comandos de PowerShell, sin necesidad de ser administrador global en el inquilino.

Asegúrate de que el usuario o la entidad de servicio tengan la asignación de roles correcta

Asegúrate de que el usuario o la entidad de servicio que se autentica en el Microsoft Entra ID están en el rol de Azure adecuado en el área de trabajo de Log Analytics. Las opciones de rol son Lector de Log Analytics o Colaborador de Log Analytics. Si ya tienes uno de esos roles, ve directamente a Recuperación del id. de Log Analytics con una suscripción a Azure.

Para establecer la asignación de roles y crear una consulta, sigue estos pasos:

  1. En el centro de administración de Microsoft Entra, busca el área de trabajo de Log Analytics.

  2. Selecciona Control de acceso (IAM).

  3. A continuación, selecciona Agregar para agregar una asignación de roles.

    Agrega una asignación de roles.

Instalación del módulo de Azure PowerShell

Una vez que tengas la asignación de roles adecuada, inicia PowerShell e Instale el módulo de Azure PowerShell (si aún no lo has hecho). Para hacerlo, escribe:

install-module -Name az -allowClobber -Scope CurrentUser

Ahora estás listo para autenticarte en Microsoft Entra ID y recuperar el id. del área de trabajo de Log Analytics que estás consultando.

Recuperación del id. de Log Analytics con un suscripción a Azure

Si solo tienes una suscripción a Azure y una sola área de trabajo de Log Analytics, escribe lo siguiente para autenticarte en Microsoft Entra ID, conectarte a esa suscripción y recuperar esa área de trabajo:

Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace

Recuperación del id. de Log Analytics con varias suscripciones a Azure

Get-AzOperationalInsightsWorkspace funciona en una suscripción a la vez. Por tanto, si tienes varias suscripciones a Azure, asegúrate de conectarte a la que tiene el área de trabajo de Log Analytics con los registros de Microsoft Entra.

En los siguientes cmdlets se muestra una lista de suscripciones y se busca el id. de la suscripción que tiene el área de trabajo de Log Analytics:

Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft

Puedes volver a autenticarte y asociar la sesión de PowerShell a esa suscripción mediante un comando, como Connect-AzAccount –Subscription $subs[0].id. Para obtener más información sobre cómo autenticarte en Azure desde PowerShell, incluida la forma no interactiva, consulta Inicio de sesión con Azure PowerShell.

Si tienes varias áreas de trabajo de Log Analytics en esa suscripción, el cmdlet Get-AzOperationalInsightsWorkspace devuelve la lista de áreas de trabajo. A continuación, puedes buscar la que tiene los registros de Microsoft Entra. El campo CustomerId devuelto por este cmdlet es el mismo que el valor del " Id. de área de trabajo" que se muestra en el centro de administración de Microsoft Entra en la descripción general del área de trabajo de Log Analytics.

$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name

Envío de la consulta al área de trabajo de Log Analytics

Por último, una vez que tengas identificada un área de trabajo, puedes usar Invoke-AzOperationalInsightsQuery para enviar una consulta de Kusto a esa área de trabajo. Estas consultas se escriben en lenguaje de consulta Kusto.

Por ejemplo, puedes recuperar el intervalo de fechas de los registros de eventos de auditoría en el área de trabajo de Log Analytics, con cmdlets de PowerShell para enviar una consulta como la siguiente:

$aQuery = "AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type"
$aResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $aQuery
$aResponse.Results |ft

También puedes recuperar los eventos de administración de derechos mediante una consulta como la siguiente:

$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft 

Uso de filtros de consulta

Puedes incluir el campo para establecer el TimeGenerated ámbito de una consulta en un intervalo de tiempo determinado. Por ejemplo, para recuperar los eventos del registro de auditoría para las directivas de asignación de paquetes de acceso de administración de derechos que se crean o actualizan en los últimos 90 días, puedes proporcionar una consulta que incluya este campo, así como el tipo de categoría y operación.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources

En el caso de eventos de auditoría de algunos servicios, como la administración de derechos, también puedes expandir y filtrar por las propiedades afectadas de los recursos que se van a cambiar. Por ejemplo, puedes ver solo los registros de auditoría para las directivas de asignación de paquetes de acceso que se crean o actualizan, que no requieren aprobación para que los usuarios tengan agregada una asignación.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
mv-expand TargetResources | 
where TargetResources.type == "AccessPackageAssignmentPolicy" | 
project ActivityDateTime,OperationName,InitiatedBy,PolicyId=TargetResources.id,PolicyDisplayName=TargetResources.displayName,MP1=TargetResources.modifiedProperties | 
mv-expand MP1 | 
where (MP1.displayName == "IsApprovalRequiredForAdd" and MP1.newValue == "\"False\"") |
order by ActivityDateTime desc 

Pasos siguientes