Saltar al contenido
Categoría: Análisis de Datos
2018-10-19

Conoce como funcionan los roles en Power BI y SSAS

En esta entrada, os vamos a enseñar los pasos a seguir para implementar la  seguridad dinámica a nivel de fila dentro de un modelo tabular de Analysis Services y posteriormente visualizarlo en Power BI, la mejor herramienta de Business Intelligence.

Para realizar un ejemplo práctico, vamos a imaginar que nuestro cliente nos pide que los informes se filtren automáticamente por la empresa a la que pertenece el usuario que accede al informe.

1. Proyecto SSAS Tabular

Partiendo del siguiente Modelo en Analysis Services Tabular.

Lo primero que debemos hacer es crear una tabla que nos sirva para relacionar los usuarios de Active Directory (Usuarios) con la tabla a filtrar (Empresas).

Ya con la tabla de seguridad (Usuarios) en nuestras manos, la relacionamos con la tabla Empresas en el Modelo.

Después nos dirigimos a la pestaña Model y hacemos clic en Roles. En el cuadro de diálogo Administrador de roles, hacemos clic en Nuevo y añadimos el rol “RolEmpresaUsuario”  con permisos de lectura.

En la pestaña Members añadimos a los usuarios o grupos de la tabla Usuarios que hemos creado previamente.

Para finalizar con la configuración del Rol, vamos a definir el filtro a nivel de fila dentro de la tabla donde queramos que se aplique. Con este filtro conseguiremos que la tabla Empresas se filtre dependiendo del usuario que acceda.

En Dax Filter añadimos la siguiente consulta, la cual nos indicará las empresas a las que pertenece el usuario que ha accedido al informe.

Empresas[idEmpresa]
    = LOOKUPVALUE (
        Usuarios[idUsuarios];
        Usuarios[UsuarioDominio]; USERNAME ();
        Usuarios[idUsuarios]; Empresas[idEmpresa]
    )

Para que los clientes no puedan acceder a la tabla usuarios en Dax Filter indicamos que Usuarios=FALSE() y ocultamos la tabla en el modelo.

Hacemos Deploy y ya tendríamos el proyecto de SSAS listo para utilizar.

Creamos un informe en Power BI Desktop. Si queremos que se visualice el usuario con el que se accede al informe, podemos crear la siguiente medida dentro de SSAS                                  -> Usuario:=USERNAME().

Si publicáramos el informe ahora mismo nos aparecería un error indicándonos que no existe ningún origen de datos para este informe, por lo que sería necesario crear una puerta de enlace.

Si quieres saber más sobre Power BI, consulta nuestra página de Data Analytics

2. Puerta de enlace

Para tener conectividad entre nuestra instancia tabular y Power Bi Online necesitamos establecer una conexión segura instalando la puerta de enlace de Power BI.

La puedes descargar e instalar aquí.

Una vez tengamos instalada y configurada la puerta de enlace crearemos un origen de datos. Para crear el origen de datos nos dirigimos al servicio de Power Bi Online -> Configuración -> Administrar puertas de enlace y creamos un nuevo origen de datos SSAS.

Ahora ya podemos publicar el informe desde Power Bi desktop. Una vez publicado el informe, accederemos con el usuario con el que lo hemos publicado, en nuestro caso “Pepe”.

Como podéis observar, aparecen los datos de todas las empresas. Ahora procederemos a compartir el panel con “Pedro”.

Abriremos el servicio de Power Bi Online con la cuenta de “Pedro” y visualizaremos el panel compartido.

Como podéis observar, en el panel aparecen solo los datos de la Empresa Google ya que en nuestro ejemplo “Pedro” tiene asignada esta empresa.

Si quieres que ayudemos a tu negocio o empresa contacta con nosotros en info@aleson-itc.com o llámanos al +34 962 681 242

Complete este formulario para recibir la guía de Windows Server en Azure
*Obligatorio
Complete este formulario para recibir la guía de Windows Server en Azure
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
*Obligatorio
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud Migration Essentials
*Obligatorio
Complete este formulario para recibir Cloud Migration Essentials
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
*Obligatorio
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete this form to recieve the guide of Windows Server on Azure
*Required
Complete this form to recieve the guide of Windows Server on Azure
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
*Required
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Essentials
*Required
Complete this form to recieve Cloud Migration Essentials
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud security Advice for Nonprofit Leaders
*Required
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!