Solución de problemas de una aplicación insertada

En este artículo se examinan algunos problemas comunes que pueden aparecer al insertar contenido desde Power BI.

Herramienta para la solución de problemas

Seguimiento de Fiddler

Fiddler es una herramienta gratuita de Telerik que supervisa el tráfico HTTP. Puede ver el tráfico con las API de Power BI desde la máquina cliente. Esta herramienta puede mostrar errores y otra información relacionada.

Captura de pantalla de la ventana de salida de la herramienta Fiddler, que muestra el tráfico HTTP de la API de Power BI.

F12 en el explorador para la depuración del servidor front-end

La tecla F12 abre la ventana del desarrollador en el explorador. Esta herramienta le permite examinar el tráfico y ver otra información valiosa.

Captura de pantalla de la pestaña Red de la ventana del desarrollador del explorador web, que muestra el tráfico de red.

Extracción de detalles del error a partir de la respuesta de Power BI

Este fragmento de código muestra cómo extraer los detalles del error de una excepción de HTTP:

public static string GetExceptionText(this HttpOperationException exc)
{
    var errorText = string.Format("Request: {0}\r\nStatus: {1} ({2})\r\nResponse: {3}",
    exc.Request.Content, exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content);
    if (exc.Response.Headers.ContainsKey("RequestId"))
    {
        var requestId = exc.Response.Headers["RequestId"].FirstOrDefault();
        errorText += string.Format("\r\nRequestId: {0}", requestId);
    }

    return errorText;
}

Se recomienda registrar los identificadores de solicitud (y los detalles del error para solucionar el problema). Proporcione el identificador de solicitud cuando entre en contacto con el equipo de soporte técnico de Microsoft.

Registro de la aplicación

Error en el registro de la aplicación

Los mensajes de error dentro de Azure Portal o la página de registro de aplicaciones de Power BI le notificarán si no tiene suficientes privilegios para registrar la aplicación. Para registrar una aplicación, debe ser administrador en el inquilino de Microsoft Entra o los registros de aplicaciones deben estar habilitados para los usuarios que no son administradores.

El servicio Power BI no aparece en Azure Portal al registrar una nueva aplicación.

Al menos un usuario debe estar registrado en Power BI. Si no ve Servicio Power BI en la lista de API, significa que no hay usuarios suscritos a Power BI.

¿Cuál es la diferencia entre un identificador de objeto de aplicación y un identificador de objeto de entidad de seguridad?

Al registrar una aplicación de Microsoft Entra, hay dos parámetros denominados id. de objeto. En esta sección se explica el propósito de cada parámetro y cómo obtenerlo.

Identificador de objeto de aplicación

El objeto de aplicación ID, también conocido simplemente como identificador de objeto, es el identificador único del objeto de aplicación Microsoft Entra.

Para obtener el identificador de objeto de aplicación, vaya a la aplicación Microsoft Entra y cópielo desde la Información general.

Captura de pantalla de la ventana de Azure Portal, que muestra el identificador de objeto en la hoja Información general de una aplicación de Microsoft Entra.

Identificador de objeto de entidad de seguridad

El identificador de objeto de entidad de seguridad, también conocido simplemente como identificador de objeto, es el identificador único del objeto de entidad de servicio asociado a la aplicación de Microsoft Entra.

Para obtener el identificador de objeto de entidad de seguridad, vaya a la aplicación Microsoft Entra y, en la Información general, seleccione el vínculo de la aplicación en Aplicación administrada en el directorio local.

Captura de pantalla de la ventana de Azure Portal, que muestra la opción Aplicación administrada en el directorio local en la hoja Información general de una aplicación de Microsoft Entra.

En la sección Propiedades, copie el identificador de objeto.

Captura de pantalla de la ventana de Azure Portal, que muestra el identificador de objeto de entidad de seguridad en la sección de propiedades de la hoja Información general de una aplicación Microsoft Entra.

Autenticación

Error de autenticación AADSTS70002 o AADSTS50053

(AADSTS70002: Error al validar las credenciales. AADSTS50053: Ha intentado iniciar sesión demasiadas veces con un identificador de usuario o una o contraseña incorrectos)

Si usa Power BI Embedded y la autenticación directa de Microsoft Entra, es posible que reciba un mensaje como el anterior al intentar iniciar sesión, ya que la autenticación directa no está habilitada.

Puede volver a activar la autenticación directa mediante una directiva de Microsoft Entra que tenga como ámbito la organización o una entidad de servicio.

Se recomienda que habilite esta directiva solo por aplicación.

Para crear esta directiva, debe ser Administrador global en el directorio donde va a crear y asignar la directiva. Este es un script de ejemplo para crear la directiva y asignarla a la entidad de servicio en esta aplicación:

  1. Para más información, consulte SDK de PowerShell en Microsoft Graph.

  2. Ejecute los comandos de PowerShell siguientes línea a línea (asegúrese que la variable $sp no tenga más de una aplicación como resultado).

    Connect-MgGraph -Scopes "Directory.Read.All","Policy.ReadWrite.ApplicationConfiguration"
    
    $sp = Get-MgServicePrincipal -Filter "DisplayName eq 'Name_Of_Application'"
    
    $policy = New-MgBetaPolicyActivityBasedTimeoutPolicy -Definition @("{`"AllowCloudPasswordValidation`":true}") `
       -DisplayName EnableDirectAuth -IsOrganizationDefault:$false
    
    $params = @{
       "@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/$policy.Id"
    }
    New-MgBetaServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId $sp.Id `
       -BodyParameter $params
    

Después de asignar la directiva, espere aproximadamente 15-20 segundos a que se propague antes de probarla.

Error en la generación del token al proporcionar una identidad efectiva

GenerateToken puede generar un error, con la identidad efectiva proporcionada, por diversas razones:

  • El modelo semántico no admite la identidad efectiva.
  • No se proporcionó el nombre de usuario.
  • No se proporcionó el rol.
  • No se proporcionó DatasetId.
  • El usuario no tiene los permisos correctos.

Para determinar el problema, pruebe los pasos siguientes:

  • Ejecute get dataset. ¿La propiedad IsEffectiveIdentityRequired es cierta?
  • Se necesita el nombre de usuario para cualquier EffectiveIdentity.
  • Si IsEffectiveIdentityRolesRequired es verdadero, se requiere el Rol.
  • Se necesita DatasetId para cualquier EffectiveIdentity.
  • En Analysis Services, el maestro tiene que ser un administrador de puerta de enlace.

AADSTS90094: La concesión requiere permiso de administrador

Síntomas:

Cuando un usuario sin derechos administrativos intenta iniciar sesión en una aplicación por primera vez y da su consentimiento, obtiene uno de los errores siguientes:

  •   ConsentTest needs permission to access resources in your organization that only an admin can grant. Ask an admin to grant permission to this app before you can use it.
    
  •   AADSTS90094: The grant requires admin permission.
    

    Captura de pantalla del cuadro de diálogo de inicio de sesión de la ventana de Azure Portal, que muestra el error de permiso Prueba de consentimiento.

Un usuario administrador puede iniciar sesión y conceder el consentimiento correctamente.

:

El consentimiento de usuario está deshabilitado en este inquilino.

Existen varias correcciones viables:

  • Habilitación del consentimiento de usuario en todo el inquilino (todos los usuarios, todas las aplicaciones):
  1. En Azure Portal, vaya a Microsoft Entra ID>Usuarios y grupos>Configuración de usuario.
  2. Habilite la opción Los usuarios pueden permitir que las aplicaciones accedan a los datos de la compañía en su nombre y guarde los cambios.

Captura de pantalla de Azure Portal.

  • Un administrador puede conceder permisos a la aplicación: ya sea para todo el inquilino o para un usuario específico.

Error CS1061

Descargue Microsoft.IdentityModel.Clients.ActiveDirectory si experimenta el siguiente error:

'AuthenticationContext' does not contain a definition for 'AcquireToken' and no accessible 'AcquireToken' accepting a first argument of type 'AuthenticationContext' could be found (are you missing a using directive or an assembly reference?)

Token de Microsoft Entra para un inquilino diferente (usuario invitado)

Al insertar para la organización, para permitir que los usuarios invitados de Microsoft Entra accedan al contenido, debe especificar el identificador de inquilino en el parámetro authorityUri.

  • Dirección URL para la autenticación en el inquilino de la organización:

    https://login.microsoftonline.com/common/v2.0

  • Dirección URL para autenticar un usuario invitado de Microsoft Entra:

    https://login.microsoftonline.com/<tenant ID>

Para buscar el identificador de inquilino, puede usar las instrucciones de Buscar el identificador de inquilino de Microsoft Entra y el nombre de dominio principal.

Para obtener más información, consulte Creación de la aplicación multiinquilino.

Orígenes de datos

ISV desea contar con otras credenciales para el mismo origen de datos

Un origen de datos puede tener un único conjunto de credenciales para un usuario maestro. Si necesita utilizar otras credenciales, cree más usuarios maestros. A continuación, asigne las distintas credenciales a cada uno de los contextos de los usuarios maestros e inserte mediante el token de Microsoft Entra de ese usuario.

Solución de problemas de las aplicaciones insertadas con el objeto IError

Use el objeto IError que devuelve el evento error del SDK de JavaScript para depurar la aplicación y comprender mejor la causa de sus errores.

Después de adquirir el objeto IError, debe consultar la tabla adecuada de errores comunes que se ajusta al tipo de inserción usada. Compare las propiedades de IError con las de la tabla y busque los posibles motivos del error.

Errores habituales al insertar las aplicaciones para usuarios de Power BI

Mensaje Mensaje detallado Código de error Posible motivo:
TokenExpired Expiró el token de acceso, vuelva a realizar el envío con uno nuevo. 403 Token expirado
PowerBIEntityNotFound Error al obtener el informe 404
  • Identificador de informe incorrecto
  • Informe inexistente
  • Parámetros no válidos No se ha especificado el parámetro powerbiToken N/D
  • No se ha proporcionado ningún token de acceso
  • No se ha proporcionado ningún identificador de informe
  • LoadReportFailed No se pudo inicializar: no se pudo resolver el clúster 403
  • Token de acceso incorrecto
  • El tipo de inserción no coincide con el tipo de token.
  • PowerBINotAuthorizedException Error al obtener el informe 401
  • Identificador de grupo incorrecto
  • Grupo no autorizado
  • TokenExpired Expiró el token de acceso, vuelva a realizar el envío con uno nuevo. No se pudo representar un objeto visual de informe denominado: título de objeto visual N/D
  • Consultar datos
  • Token expirado
  • OpenConnectionError No se puede mostrar el objeto visual. No se pudo representar un objeto visual de informe denominado: título de objeto visual N/D Capacidad en pausa o eliminada mientras un informe relacionado con la capacidad estaba abierto en una sesión
    ExplorationContainer_FailedToLoadModel_DefaultDetails No se ha podido cargar el esquema de modelo asociado a este informe. Asegúrese de que tiene una conexión al servidor e inténtelo de nuevo. N/D
  • Capacidad en pausa
  • Capacidad eliminada
  • Errores habituales al insertar para usuarios que no usan Power BI (mediante un token de inserción)

    Mensaje Mensaje detallado Código de error Motivos
    TokenExpired Expiró el token de acceso, vuelva a realizar el envío con uno nuevo. 403 Token expirado
    LoadReportFailed Error al obtener el informe 404
  • Identificador de informe incorrecto
  • Informe inexistente
  • LoadReportFailed Error al obtener el informe 403 El identificador de informe no coincide con el token
    LoadReportFailed Error al obtener el informe 500 El identificador de informe proporcionado no es un GUID.
    Parámetros no válidos No se ha especificado el parámetro powerbiToken N/D
  • No se ha proporcionado ningún token de acceso
  • No se ha proporcionado ningún identificador de informe
  • LoadReportFailed No se pudo inicializar: no se pudo resolver el clúster 403 Tipo de token incorrecto o token incorrecto
    PowerBINotAuthorizedException Error al obtener el informe 401 Identificador de grupo incorrecto o no autorizado
    TokenExpired Expiró el token de acceso, vuelva a realizar el envío con uno nuevo. No se pudo representar un objeto visual de informe denominado: título de objeto visual N/D
  • Consultar datos
  • Token expirado
  • OpenConnectionError No se puede mostrar el objeto visual. No se pudo representar un objeto visual de informe denominado: título de objeto visual N/D Capacidad en pausa o eliminada mientras un informe relacionado con la capacidad estaba abierto en una sesión
    ExplorationContainer_FailedToLoadModel_DefaultDetails No se ha podido cargar el esquema de modelo asociado a este informe. Asegúrese de que tiene una conexión al servidor e inténtelo de nuevo. N/D
  • Capacidad en pausa
  • Capacidad eliminada
  • Error al obtener informe: error 401: resolverse por sí mismos

    A veces, los usuarios del escenario de datos propietarios obtendrán un error 401 que se resuelve después de acceder al portal de Power BI. Cuando esto suceda, agregue la llamada RefreshUser Permissions en la aplicación, como se explica en Actualizar permisos de usuario.

    Modelos semánticos

    Administración de la parte de los datos que pueden ver los usuarios

    Cualquier usuario con permisos de lectura para un modelo semántico puede ver todo el esquema (tablas, columnas y medidas) y todos los datos. No puede controlar la visualización de permisos para datos sin procesar y agregados por separado en el mismo modelo semántico.

    Para administrar qué parte de los datos pueden ver los usuarios, use uno de estos métodos:

    Representación de contenido

    Para resolver problemas de representación en elementos de Power BI insertados (como informes y paneles), revise esta sección.

    Comprobar que el elemento Power BI se carga en el servicio Power BI

    Para descartar problemas con la aplicación o las API de inserción, compruebe que el elemento se puede ver en el servicio Power BI (powerbi.com).

    Comprobar que el elemento Power BI se carga en el área de análisis insertados de Power BI

    Para descartar problemas con la aplicación, compruebe que el elemento Power BI se puede ver en el área de análisis insertados de Power BI.

    Comprobar que el token de acceso no ha expirado

    Por motivos de seguridad, los tokens de acceso (un token de Microsoft Entra o un token de inserción) tienen una duración limitada. Debe supervisar constantemente el token de acceso y actualizarlo si es necesario. Para obtener más información, consulte Actualización del token de acceso.

    Rendimiento

    Para obtener el mejor rendimiento del contenido insertado, se recomienda seguir los procedimientos recomendados de análisis insertados de Power BI.

    Herramienta de configuración de inserción

    Puede ver la herramienta de configuración de inserción para descargar rápidamente una aplicación de ejemplo. Después, puede comparar su aplicación con la aplicación de ejemplo.

    Requisitos previos

    Compruebe que cumple todos los requisitos previos antes de usar la herramienta de configuración de inserción. Necesita una cuenta de Power BI Pro y una suscripción de Microsoft Azure.

    Problemas comunes

    Estos son algunos de los problemas comunes que pueden surgir al hacer pruebas con la herramienta de configuración de inserción:

    Usar la aplicación de ejemplo de inserción para clientes

    Si está trabajando con la experiencia de inserción para los clientes, guarde el archivo PowerBI-Developer-Samples.zip y descomprímalo. Después, abra la carpeta PowerBI-Developer-Samples-master\App Owns Data y ejecute el archivo PowerBIEmbedded_AppOwnsData.sln.

    • Al seleccionar Conceder permisos (el paso Conceder permisos), obtendrá este error:
    AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
    

    Para solucionarlo, cierre la ventana emergente, espere unos segundos e inténtelo de nuevo. Es posible que tenga que repetir esta acción varias veces. Un intervalo de tiempo provoca el problema de completar el proceso de registro de la aplicación cuando esta esté disponible para las API externas.

    • Aparece este mensaje de error cuando se ejecuta la aplicación de ejemplo:
    Password is empty. Please fill password of Power BI username in web.config.
    

    Este error se produce porque el único valor que no se está insertado en la aplicación de ejemplo es la contraseña de usuario. Abra el archivo Web.config de la solución y rellene el campo pbiPassword con la contraseña del usuario.

    • Si se produce un error:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    Debe usar una cuenta de Microsoft Entra que no tenga MFA habilitado.

    Usar la aplicación de ejemplo de inserción para clientes

    Si está trabajando con la experiencia de inserción para la organización, guarde el archivo PowerBI-Developer-Samples.zip y descomprímalo. Después, abra la carpeta PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app y ejecute el archivo pbi-saas-embed-report.sln.

    • Al ejecutar la aplicación de ejemplo de inserción para la organización, obtendrá este error:
    AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
    

    Este error se debe a que la dirección URL de redireccionamiento especificada para la aplicación del servidor web es diferente de la dirección URL de la aplicación de ejemplo. Si quiere registrar la aplicación de ejemplo, use https://localhost:13526/ como dirección URL de redireccionamiento.

    Si desea editar la aplicación registrada, actualizar la aplicación registrada de Microsoft Entra, para que la aplicación pueda proporcionar acceso a las API web.

    Si quiere editar los datos o el perfil de usuario de Power BI, deberá aprender a editar los datos de Power BI.

    • Si se produce un error:
    AADSTS50079: The user is required to use multi-factor authentication.
    

    Debe usar una cuenta de Microsoft Entra que no tenga MFA habilitado.

    Para más información, consulte Preguntas más frecuentes acerca de Power BI Embedded.

    Para más ayuda, póngase en contacto con el soporte técnico o cree una incidencia de soporte técnico mediante Azure Portal y proporcione los mensajes de error que haya encontrado.

    ¿Tiene más preguntas? Pregunte a la comunidad de Power BI