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.

Rol de requisito previo: Administrador global

  1. Inicie sesión en el centro de administración de Microsoft Entra como administrador global. 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.

    Diagnostics settings pane

  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.

    Log Analytics workspaces pane

  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 mostrarán los eventos relacionados con el paquete de acceso que se produjeron durante el intervalo de tiempo seleccionado.

    View access package events

    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. Se incluyen detalles adicionales en JSON.

  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.

    View app role assignments

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, seleccione la suscripción y el área de trabajo correctas.

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

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

    Click Run to start query

De forma predeterminada, la tabla muestra los eventos del registro de auditoría para la administración de derechos de la última hora. Puede 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 desea conocer los eventos de auditoría más antiguos y más recientes contenidos en Azure Monitor, use 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, consulte 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

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

Asegurarse de que el usuario o la entidad de servicio tengan la asignación de roles correcta

Asegúrese de que tener, como usuario o entidad de servicio que se va a autenticar en Microsoft Entra ID, 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 tiene uno de esos roles, vaya 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, siga estos pasos:

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

  2. Seleccione Control de acceso (IAM).

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

    Add a role assignment

Instalación del módulo de Azure PowerShell

Una vez que tenga la asignación de roles adecuada, inicie PowerShell e Instale el módulo de Azure PowerShell (si aún no lo ha hecho). Para hacerlo, escriba:

install-module -Name az -allowClobber -Scope CurrentUser

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

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

Si solo tiene una suscripción a Azure y una sola área de trabajo de Log Analytics, escriba lo siguiente para autenticarse en Microsoft Entra ID, conectarse 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 tiene varias suscripciones a Azure, asegúrese de conectarse 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

Puede volver a autenticarse 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 autenticarse en Azure desde PowerShell, incluida la forma no interactiva, consulte Inicio de sesión con Azure PowerShell.

Si tiene 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, puede 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 tenga identificada un área de trabajo, puede 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, puede 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 puede 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

Puede 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, puede 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 puede expandir y filtrar por las propiedades afectadas de los recursos que se van a cambiar. Por ejemplo, puede 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 una asignación agregada.

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