Tutorial: Obtención de datos mediante Reporting API de Azure Active Directory con certificados

Las API de generación de informes de Azure Active Directory (Azure AD) proporcionan acceso mediante programación a los datos a través de un conjunto de API de REST. Se puede llamar a estas API desde diversos lenguajes de programación y herramientas. Si quiere acceder a Reporting API de Azure AD sin intervención del usuario, debe configurar el acceso para usar certificados.

En este tutorial, aprenderá a crear un certificado de prueba para acceder a Microsoft Graph API para la creación de informes. El uso de certificados de prueba no se recomienda en un entorno de producción.

Prerrequisitos

  1. Para obtener acceso a datos de inicio de sesión, asegúrese de que tiene un inquilino de Azure AD con una licencia prémium (P1 y P2). Para actualizar la edición de Azure AD, consulte Introducción a Azure Active Directory Premium. Si no tenía ningún dato de actividades antes de la actualización, los datos tardarán un par de días en mostrarse en los informes después de actualizar a una licencia prémium.

  2. Cree o cambie a una cuenta de usuario con el rol Administrador global, Administrador de seguridad, Lector de seguridad o Lector de informes en el inquilino.

  3. Complete los requisitos previos para acceder a la API de generación de informes de Azure Active Directory.

  4. Descargue e instale Azure AD PowerShell V2.

  5. Instale MSCloudIdUtils. Este módulo proporciona varios cmdlets de utilidades incluidos los siguientes:

    • Las bibliotecas de autenticación de Microsoft necesarias para la autenticación
    • Los tokens de acceso de usuario, las claves de aplicación y los certificados mediante la biblioteca de autenticación de Microsoft
    • Graph API con control de resultados paginados
  6. Si es la primera vez que usa el módulo, ejecute Install-MSCloudIdUtilsModule; en caso contrario, puede importarlo mediante el comando de PowerShell Import-Module. La sesión debe tener un aspecto similar a esta pantalla: Windows PowerShell

  7. Use el commandlet New-SelfSignedCertificate de PowerShell para crear un certificado de prueba.

    $cert = New-SelfSignedCertificate -Subject "CN=MSGraph_ReportingAPI" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
    
  8. Use el commandlet Export-Certificate para exportarlo en un archivo de certificado.

    Export-Certificate -Cert $cert -FilePath "C:\Reporting\MSGraph_ReportingAPI.cer"
    
    

Obtención de datos mediante Reporting API de Azure Active Directory con certificados

  1. Vaya a Azure Portal>Azure Active Directory>Registros de aplicaciones y elija su aplicación en la lista.

  2. En el área Registro de aplicaciones, seleccione Certificados y & secretos en la sección Administrar y luego seleccione Cargar certificado.

  3. Seleccione el archivo de certificado del paso anterior y elija Agregar.

  4. Anote el identificador de la aplicación y la huella digital del certificado registrado con la aplicación. Para encontrar la huella digital, en la página de la aplicación en el portal, vaya a Certificates & secrets (Certificados y secretos) en la sección Administrar. La huella digital estará en la lista Certificados.

  5. Abra el manifiesto de aplicación en el editor de manifiesto insertado y compruebe que la propiedad keyCredentials está actualizada con la nueva información del certificado, como se muestra a continuación.

    "keyCredentials": [
         {
             "customKeyIdentifier": "$base64Thumbprint", //base64 encoding of the certificate hash
             "keyId": "$keyid", //GUID to identify the key in the manifest
             "type": "AsymmetricX509Cert",
             "usage": "Verify",
             "value":  "$base64Value" //base64 encoding of the certificate raw data
         }
     ]
    
  6. Ahora, puede obtener un token de acceso para MS Graph API con este certificado. Use el cmdlet Get-MSCloudIdMSGraphAccessTokenFromCert del módulo MSCloudIdUtils de PowerShell pasando el identificador de la aplicación y la huella digital que obtuvo en el paso anterior.

    Captura de pantalla que muestra una ventana de PowerShell con un comando que crea un token de acceso.

  7. Use el token de acceso del script de Powershell para consultar Graph API. Use el cmdlet Invoke-MSCloudIdMSGraphQuery de MSCloudIDUtils para enumar el punto de conexión signins y directoryAudits. Este cmdlet controla los resultados de paginado múltiple y los envía a la canalización de PowerShell.

  8. Consulte el punto de conexión directoryAudits para recuperar los registros de auditoría.

    Captura de pantalla que muestra una ventana de PowerShell con un comando para consultar el punto de conexión de DirectoryAudits mediante el token de acceso anterior en este procedimiento.

  9. Consulte el punto de conexión signins para recuperar los registros de información de inicio de sesión.

    Captura de pantalla que muestra una ventana de PowerShell con un comando para consultar el punto de conexión de Signins mediante el token de acceso anterior en este procedimiento.

  10. Ahora puede exportar estos datos en un archivo CSV y guardarlos en un sistema SIEM. También puede encapsular el script en una tarea programada para obtener datos de Azure AD de su inquilino periódicamente sin tener que almacenar las claves de aplicación en el código fuente.

Pasos siguientes