Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

PowerBI - Databricks SSO | Suplantación de visores de informes con cliente OIDC personalizado

Hola

Estamos trabajando en la integración de PowerBI con Databricks mediante la funcionalidad SSO.

Nuestro Databricks está actualmente alojado en AWS y utilizamos una solución OIDC personalizada para implementar el SSO de Databricks.

Queremos consultar datos de PowerBI a Databricks mediante OAuth para aplicar la suplantación.

Seguí los siguientes pasos:

  1. En PowerBI Desktop, seleccione Obtener datos y seleccione el conector Databricks.
  2. Allí, después de agregar el nombre de host de Databricks y la ruta de acceso de SQL, seleccioné OAuth como autenticación y me autentiqué y vi correctamente mi tabla
  3. Seleccioné DirectQuery como método de importación
  4. Publiqué el informe en el servicio PowerBI
  5. Una vez publicado, me conecté al servicio PowerBI y comprobé el informe. El informe no funcionaba, ya que tuve que configurar las credenciales
  6. Fui a la configuración del modelo semántico y agregué una credencial de conexión con SSO (OIDC).
  7. Ahora el informe funciona y también pude crear una aplicación, pero parece que todos los espectadores de la aplicación/informe están usando mi identidad para iniciar sesión en Databricks, por lo que los filtros de fila que tenemos en Databricks para sus identidades no funcionan.

¿Hay alguna manera de obligar a los espectadores de una aplicación o informe a usar sus propias identidades para acceder a Databricks?

Esta es una funcionalidad crucial, ya que en este momento no podemos aplicar el filtrado de filas en la tabla en el nivel de Databricks, ya que todos los visores de informes usan la identidad del desarrollador del informe (incluso con DirectQuery y SSO).

Tal como funciona ahora, el SSO pierde su propósito.

Saludos

Kostas

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hola @FarhanJeelani , muchas gracias por tu detallada explicación.

Nuestro cliente OIDC está configurado correctamente en Databricks y RLS también está configurado correctamente.

Me gustaría dar más explicaciones a su punto:

"En el servicio Power BI, vaya a la configuración del conjunto de datos asociado a su informe. En la configuración del conjunto de datos, asegúrese de que la opción SSO esté habilitada. Esto garantiza que Power BI esté configurado para pasar las credenciales de usuario a Databricks en lugar de usar un conjunto de credenciales estático".

¿Cuáles son los pasos para hacer esto? Abro la configuración de mi modelo semántico y no puedo encontrar ninguna opción de SSO. Si no está claro, consulte mis pasos anteriores para conocer el proceso que seguí para crear este informe.

Saludos

Kostas

Syndicate_Admin
Administrator
Administrator

Hola @kkitsara ,

Para solucionar el problema, el enfoque principal debe estar en configurar correctamente la propagación de identidades entre Power BI y Databricks. Actualmente, parece que se está utilizando la identidad del desarrollador del informe, lo que impide que la seguridad de nivel de fila (RLS) se aplique según lo previsto. A continuación, te explicamos cómo puedes resolver este problema.

En primer lugar, confirme que el conector de Databricks de Power BI está configurado para el inicio de sesión único (SSO) con la solución de OIDC personalizada. Esto implica asegurarse de que el cliente OIDC usado por Databricks pueda aceptar tokens específicos del usuario de Power BI y pasar esos tokens para la verificación de identidad. Debe comprobar que la configuración de OIDC permite la transmisión de notificaciones como userPrincipalName o correo electrónico, que pueden identificar de forma única a los usuarios que acceden a los datos.

En el servicio Power BI, vaya a la configuración del conjunto de datos asociado al informe. En la configuración del conjunto de datos, asegúrese de que la opción SSO esté habilitada. Esto garantiza que Power BI esté configurado para pasar las credenciales de usuario a Databricks en lugar de usar un conjunto de credenciales estático. Para que esto funcione, el modo DirectQuery debe estar configurado para usar la identidad del visor para consultar el origen de datos. Además, confirme que el área de trabajo de Databricks reconoce y procesa la identidad de usuario pasada a través de Power BI.

En el lado de Databricks, debe implementar la seguridad de nivel de fila (RLS) mediante atributos específicos del usuario. Por ejemplo, la tabla puede incluir una columna para el nombre de usuario y las consultas SQL pueden filtrar filas mediante una función como current_user() o un atributo similar asignado desde el token de usuario. Esto garantiza que solo se pueda acceder a los datos correspondientes al usuario que ha iniciado sesión.

Las pruebas son cruciales. Use diferentes cuentas de usuario para acceder al informe publicado en Power BI Service y observe si los registros de Databricks indican la identidad de usuario correcta para cada consulta. Si todas las consultas parecen originarse en la identidad del desarrollador, apunta a un problema con la propagación de la identidad en la configuración de SSO.

Si el cliente OIDC personalizado no admite la suplantación de usuarios de forma nativa, es posible que necesite una capa de autenticación adicional. Puede tratarse de un servicio de middleware que asigna identidades de usuario de Power BI a tokens compatibles con Databricks de forma dinámica, lo que garantiza una suplantación adecuada.

Al alinear correctamente la configuración del conjunto de datos de Power BI, la configuración de autenticación de Databricks y las reglas de RLS, puede exigir que cada visor use su propia identidad para acceder a los datos, manteniendo la integridad del filtrado de nivel de fila.

¿Respondí a tu pregunta? ¡Marca mi publicación como una solución!

Hola @FarhanJeelani ,

Muchas gracias por su detallada explicación.

Nuestro cliente OIDC está configurado correctamente en Databricks y RLS también está configurado correctamente.

Me gustaría dar más explicaciones a su punto:

"En el servicio Power BI, vaya a la configuración del conjunto de datos asociado a su informe. En la configuración del conjunto de datos, asegúrese de que la opción SSO esté habilitada. Esto garantiza que Power BI esté configurado para pasar las credenciales de usuario a Databricks en lugar de usar un conjunto de credenciales estático".

¿Cuáles son los pasos para hacer esto? Abro la configuración de mi modelo semántico y no puedo encontrar ninguna opción de SSO. Si no está claro, consulte mis pasos anteriores para conocer el proceso que seguí para crear este informe.

Si consulta la configuración de conexión y en un botón como el de la imagen siguiente, no hay esta opción disponible para Databricks Connector.

kkitsara_0-1736792197687.png

Saludos

Kostas

Hola @kkitsara , hola FarhanJeelani, ¡gracias por su pronta respuesta!


Espero que el siguiente artículo le sea útil:

Conexión de Power BI a Azure Databricks - Azure Databricks | Microsoft Learn

Saludos

Joyce

Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Hola @v-yajiewan-msft

En este artículo se describe la misma funcionalidad, pero con el identificador de Microsoft Entra habilitado en Databricks.

Como mencioné en mi publicación inicial, estamos usando un cliente OIDC personalizado como proveedor de identidad en Databricks y no podemos encontrar una funcionalidad de SSO que funcione correctamente para esto.

Saludos

Kostas

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors