USERNAME () v / s USERPRINCIPALNAME () en RLS para escenarios de Power BI Embedded: ¿cuándo usar qué?

Un usuario Pregunto ✅

Si se pregunta cuándo usar USERNAME () y USERPRINCIPALNAME () en RLS para escenarios de Power BI Embedded, entonces está en el blog correcto.

Si es nuevo en DAX, le recomendaría probar estas funciones de DAX en medidas o filtros RLS.

Documentos de referencia: función NOMBRE DE USUARIO (DAX) – DAX | Documentos de Microsoft

Función USERPRINCIPALNAME (DAX) – DAX | Documentos de Microsoft

En un nivel alto, en Power BI Desktop, el nombre de usuario () devolverá el dominio / nombre de usuario y la función userprincipalname () devolverá username@domain.com.

Sin embargo, en el servicio Power BI, tanto username () como userprincipalname () devolverán username@domain.com.

Ahora, profundicemos para incorporar problemas específicos.

Este artículo asume que tiene conocimientos básicos sobre Power BI Embedded.

Puede consultar estos artículos para refrescarse.

  • Incruste contenido en su aplicación de análisis integrada Power BI – Power BI | Documentos de Microsoft
  • Incruste contenido en su aplicación de análisis incrustado Power BI, lo que permite obtener mejores conocimientos de BI incrustados para …
  • Uso de seguridad a nivel de fila con contenido incrustado en análisis incrustados de Power BI – Power BI | Microsoft …

La aplicación posee datos

En el caso de los datos de propiedad de la aplicación, la licencia de Power BI de los usuarios finales o los permisos sobre el artefacto integrado (informe, panel o mosaico) no se propagan a su aplicación web. En la mayoría de los casos, los clientes implementan su propia lógica de inicio de sesión. Siempre se recomienda utilizar la función username (). Este es el por qué.

«username () respetará la autenticación básica de su aplicación / portal web e implementará RLS según la dirección de correo electrónico firmada en la aplicación / portal web. Los cambios realizados en los permisos del servicio Power BI no afectan la experiencia del usuario en su portal web.

En términos simples, iniciar sesión usando abc@def.com en su aplicación web / portal sería diferente a iniciar sesión usando abc@def.com en el servicio Power BI, lo que garantiza el aislamiento entre los dos inicios de sesión «.

Por lo tanto, solo debe asegurarse de que su RLS funcione como se espera en Power BI Desktop.

¿Qué pasará si utilizo userprincipalname () en este escenario? Tu incrustación funcionará. Sin embargo, si realiza cambios en los permisos del servicio Power BI. Esos cambios solo se propagarán si el usuario final inicia sesión en el servicio Power BI.

Por ejemplo: usted convierte a un usuario X en miembro del espacio de trabajo. Dado que RLS solo se respeta para el rol de Visor, el usuario final verá todos los datos del Servicio y de su portal. Ahora, digamos que degrada los permisos del usuario X a un Visor en el espacio de trabajo y los agrega al rol en Seguridad del conjunto de datos.

El usuario X accede al portal sin iniciar sesión en el servicio Power BI ni una sola vez. Seguirá viendo todos los datos en el portal porque era miembro anteriormente y los cambios aún no se han propagado.

El usuario posee datos

En el caso de los datos de propiedad del usuario, los usuarios finales deben tener una licencia de Power BI y los permisos necesarios en el artefacto integrado (informe, panel o mosaico). Es decir, los usuarios finales también deben iniciar sesión en Power BI para ver el informe en su aplicación.

En este caso, se pueden utilizar las funciones username () y userprincipalname () porque no es necesario cambiar nada en el código específicamente para los informes seguros de RLS. Sin embargo, se recomienda userprincipalname () para evitar confusiones con respecto al comportamiento diferente en Power BI Desktop y Power BI Service. (NOMBRE DE USUARIO () devolverá el dominio / nombre de usuario en Power BI Desktop y username@domain.com en el servicio Power BI. Lo sé, bam.)

Conclusión

Aunque USERNAME () y USERPRINCIPALNAME () parecen similares en la superficie, pueden actuar de manera diferente en diferentes escenarios de incrustación. Por lo tanto, si elige la función DAX correcta, la incrustación será divertida y fácil.

Espero que esto te ayude a tomar la decisión. 😊

Autor: Akshiita Srivastava

Revisor: Mounika Narayana Reddy

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *