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.
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.
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.
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.
En la sección Propiedades, copie el identificador de objeto.
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:
Para más información, consulte SDK de PowerShell en Microsoft Graph.
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 cualquierEffectiveIdentity
. - 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.
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):
- En Azure Portal, vaya a Microsoft Entra ID>Usuarios y grupos>Configuración de usuario.
- 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.
- 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 | |
Parámetros no válidos | No se ha especificado el parámetro powerbiToken | N/D | |
LoadReportFailed | No se pudo inicializar: no se pudo resolver el clúster | 403 | |
PowerBINotAuthorizedException | Error al obtener el informe | 401 | |
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 | |
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 |
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 | |
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 | |
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 | |
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 |
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:
Filtrado de nivel de fila con seguridad de nivel de fila (RLS) de Power BI.
Separe los datos en diferentes modelos semánticos. Por ejemplo, puede crear un modelo semántico que solo contenga datos agregados y conceder a los usuarios acceso solo a ese modelo semántico.
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.
- Si no está registrado en Power BI Pro, regístrese para obtener una evaluación gratuita antes de empezar.
- Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- Debe tener su propia configuración de inquilino de Microsoft Entra.
- También debe tener Visual Studio instalado (versión 2013 o posterior).
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.
Contenido relacionado
Preguntas más frecuentes acerca de Power BI Embedded
¿Tiene más preguntas? Pregunte a la comunidad de Power BI