Solución de problemas de una aplicación insertada
En este artículo se describen algunos problemas comunes que pueden surgir al insertar contenido desde Power BI.
Herramientas de 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 inicia la ventana del desarrollador dentro del explorador. Esta herramienta le permite examinar el tráfico de red 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 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 el identificador de solicitud (y los detalles del error para solucionar problemas). Proporcione el identificador de solicitud al acercarse al soporte técnico de Microsoft.
Registro de aplicaciones
Error de registro de aplicaciones
Los mensajes de error en Azure Portal o en la página de registro de aplicaciones de Power BI le notificarán si no tiene privilegios suficientes 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 registrarse 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 principal?
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.
Id. de objeto de aplicación
El ID de objeto de la aplicación , también conocido simplemente como ID del objeto , es el identificador único de su objeto de aplicación Microsoft Entra.
Para obtener el id. de objeto de aplicación, vaya a la aplicación Microsoft Entra y cópielo desde la Información general.
Id. de objeto principal
El id. de objeto de entidad de seguridad, también conocido simplemente como id. de objeto, es el id. único del objeto de entidad de servicio asociado a la aplicación de Microsoft Entra.
Para obtener el identificador del objeto principal, vaya a su aplicación de Microsoft Entra y, en la sección Resumen, seleccione el vínculo de la aplicación en Aplicación gestionada en el directorio local.
En la sección Propiedades, copie el id. de objeto.
Autenticación
Error de autenticación con AADSTS70002 o AADSTS50053
(AADSTS70002: error al validar las credenciales. AADSTS50053: ha intentado iniciar sesión demasiadas veces con un identificador de usuario o una 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 habilitar 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 al SP para esta aplicación:
Instale el SDK de PowerShell de Microsoft Graph.
Ejecute los siguientes comandos de PowerShell línea a línea (asegurándose de que la variable
$sp
no tiene 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 entre 15 y 20 segundos para la propagación antes de las pruebas.
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:
- Ejecutar para obtener el conjunto de datos. ¿La propiedad
IsEffectiveIdentityRequired
es cierta? - El nombre de usuario es necesario para cualquier
EffectiveIdentity
. - Si
IsEffectiveIdentityRolesRequired
es verdadero, se requiere el Rol. DatasetId
es necesario para cualquierEffectiveIdentity
.- Para Analysis Services, el usuario maestro debe ser un administrador de puerta de enlace.
AADSTS90094: la concesión requiere permiso de administrador
síntomas :
Cuando un usuario que no es administrador intenta iniciar sesión en una aplicación por primera vez al conceder consentimiento, obtiene uno de los siguientes errores:
-
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.
causa principal:
El consentimiento del usuario está deshabilitado para el inquilino.
Se pueden realizar varias fijaciones:
- Habilite el consentimiento del usuario para todo el inquilino (todos los usuarios, todas las aplicaciones):
- En Azure Portal, vaya a Microsoft Entra ID>Usuarios y grupos>Configuración de usuario.
- Active el ajuste Los usuarios pueden dar su consentimiento a las aplicaciones que acceden a los datos de la empresa 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 id. 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 encontrar tu ID de inquilino, puedes usar las instrucciones en Buscar el ID de inquilino de Microsoft Entra y el nombre de dominio principal.
Para obtener más información, consulte Hacer que la aplicación sea multiinquilino.
Orígenes de datos
ISV quiere tener credenciales diferentes para el mismo origen de datos
Un origen de datos puede tener un único conjunto de credenciales para un usuario maestro. Si necesita usar credenciales diferentes, 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 la aplicación insertada con el objeto IError
Use el objeto IError devuelto por el evento de error del SDK de JavaScript para depurar la aplicación y comprender mejor la causa de los errores.
Después de adquirir el objeto IError, debe consultar la tabla adecuada de errores comunes que se ajusta al tipo de inserción que use. Compare las propiedades IError con las de la tabla y busque los posibles motivos del error.
Errores típicos al insertar para usuarios de Power BI
Mensaje | Mensaje detallado | Código de error | Posibles razones |
---|---|---|---|
TokenExpired | El token de acceso ha expirado, vuelva a enviar con un nuevo token de acceso. | 403 | Token expirado |
PowerBIEntityNotFound | Error al obtener el informe | 404 | |
Parámetros no válidos | Parámetro powerbiToken no especificado | N/A | |
LoadReportFailed | No se pudo inicializar: no se pudo resolver el clúster | 403 | |
PowerBINotAuthorizedException | Error al obtener el informe | 401 | |
TokenExpired | El token de acceso ha expirado, vuelva a enviarlo con un nuevo token de acceso. No se ha podido representar un objeto visual de informe denominado: título de objeto visual | N/A | |
OpenConnectionError | No se puede mostrar la imagen. No se ha podido representar un objeto visual de informe denominado: título de objeto visual | N/A | Capacidad en pausa o eliminada mientras un informe relacionado con la capacidad estaba abierto en una sesión |
ExplorationContainer_FailedToLoadModel_DefaultDetails | No se pudo cargar el esquema del modelo asociado a este informe. Asegúrese de que tiene una conexión con el servidor e inténtelo de nuevo. | N/A |
Errores típicos al incorporar para usuarios ajenos a Power BI (mediante un token de inserción)
Mensaje | Mensaje detallado | Código de error | Posibles razones |
---|---|---|---|
Token caducado | El token de acceso ha expirado, vuelva a enviar con un nuevo token de acceso | 403 | Token expirado |
Error al cargar el informe | Error al obtener el informe | 404 | |
Error al cargar el informe | Error al obtener el informe | 403 | El identificador de informe no coincide con el token |
LoadReportFailed | Error al obtener el informe | 500 | El id. de informe proporcionado no es un GUID. |
Parámetros no válidos | Parámetro powerbiToken no especificado | N/A | |
LoadReportFailed | No se pudo inicializar: no se pudo resolver el clúster | 403 | Tipo de token equivocado o token no válido |
PowerBINotAuthorizedException | Error al obtener el informe | 401 | Id. de grupo incorrecto o no autorizado |
TokenExpired | El token de acceso ha expirado. Vuelva a enviar con un nuevo token de acceso. No se ha podido representar un objeto visual de informe denominado: título de objeto visual | N/A | |
OpenConnectionError | No se puede mostrar el objeto visual. No se ha podido representar un objeto visual de informe denominado: título de objeto visual | N/A | Capacidad en pausa o eliminada mientras un informe relacionado con la capacidad estaba abierto en una sesión |
ExplorationContainer_FailedToLoadModel_DefaultDetails | No se pudo cargar el esquema del modelo asociado a este informe. Asegúrese de que tiene una conexión con el servidor e inténtelo de nuevo. | N/A |
Error al obtener informe: error 401: resolverse por sí mismos
A veces, los usuarios del escenario de datos propiedad del usuario obtendrán un error 401 que se resuelve solo después de acceder al portal de Power BI. Cuando se produzca el error 401, 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 gestionar los permisos de visualización para datos sin procesar y agregados de forma separada en el mismo modelo semántico.
Para administrar qué parte de los datos pueden ver los usuarios, use uno de los métodos siguientes:
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 insertados de Power BI (como informes y paneles), revise esta sección.
Comprobación de que el elemento de 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).
Compruebe que el elemento de Power BI se carga en el entorno de análisis embebido de Power BI
Para descartar problemas con la aplicación, compruebe que el elemento de Power BI se puede ver en el sitio de prueba de análisis integrado de Power BI.
Compruebe que el token de acceso no ha expirado
Con fines 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 Actualizar el token de acceso.
Rendimiento
Para obtener el mejor rendimiento del contenido insertado, se recomienda seguir los procedimientos recomendados de análisis insertados Power BI.
Contenido relacionado
preguntas más frecuentes sobre Power BI Embedded
¿Más preguntas? Preguntar a la comunidad de Power BI