Verne academy

VERNE ACADEMY > BLOG > BLOG POWER BI > SEGURIDAD A NIVEL DE PáGINA CON POWER BI

Seguridad a nivel de página con Power BI

Contenidos del Post

En este artículo veremos cómo, con una sencilla técnica dentro de Power BI Desktop, podemos definir las páginas de un informe que cada usuario puede visualizar.

Una cultura basada en datos es crucial para que los negocios prosperen en el entorno actual. La base de esta cultura es la capacidad de brindar información oportuna a todas las personas de su organización a través de todos sus datos, a partir de los cuales los usuarios de negocio tomarán decisiones y llevarán a cabo acciones basadas en los conocimientos que encuentran en los mismos.

Cada día, más organizaciones están utilizando Power BI para llevar a cabo esta labor, por lo que se vuelve cada vez más importante para las organizaciones tener la capacidad de gobernar este escenario de BI de forma efectiva cumpliendo con las regulaciones y con sus propios requerimientos de seguridad.

Hasta ahora, Power BI nos permitía definir políticas de acceso condicional a su servicio que proporcionen controles contextuales a nivel de usuario o grupo, ubicación, dispositivo y aplicación; permitiendo así que cada usuario accediera a los datos necesarios para desempeñar sus labores.

Con la nueva actualización de mayo, Power BI nos permite dar un paso más a la hora de definir los contenidos a los que puede acceder cada usuario, la seguridad a nivel de página.

En este artículo veremos cómo, con una sencilla técnica dentro de Power BI Desktop, podemos definir las páginas de un informe que cada usuario puede visualizar.

Si quieres dar forma a tu proyecto con Power BI, en Verne Academy podemos guiarte en el proceso (mentoring), ayudarte a su desarrollo mediante nuestro framework, así como formarte en aquellas áreas que necesites. Consulta todos nuestros cursos de 0 a experto con Power BI, desde nuestro curso de Power BI para usuarios de negocio hasta formación más avanzada como DAX, Data Governance o Power Query.

Seguridad a nivel de página

Hasta ahora, Power BI Desktop nos permitía establecer navegación a través de páginas mediante marcadores, pero con la nueva actualización se añade esa función dentro de las acciones que puede desempeñar un botón. Además, nos solo nos permite establecer la página destino a la que nos llevará, sino que nos permite, mediante una medida, hacer que ese cambio de página sea condicional.

Para llevar a cabo esta labor, en primer lugar, deberemos definir dos tablas previas para controlar tanto los usuarios y su acceso, como las páginas que tiene nuestro informe y las acciones correspondientes. En este ejemplo vamos a definir únicamente dos usuarios, pero podría ser cualquier número.

Users 1
Menu

Como vemos, se han definido dos usuarios, uno con el rol de administrador y otro de explorador. La idea será permitir al usuario administrador ver todas las páginas del informe, pero el usuario explorador solo tendrá acceso a la página de inicio.

El siguiente paso será crear un slicer con las páginas a las que podemos acceder desde cada una dentro del informe.

Slicer

En el slicer meteremos la columna Menu, definida en las tablas anteriores. En este caso se ha utilizado un filtro para mostrar solo las opciones posibles y no mostrar la página actual, pero eso es opcional.

Por último, quedará crear el botón que nos permitirá navegar a la página que seleccionemos dentro del slicer. Como se ha mencionado antes, en el botón se podría directamente definir la página objetivo o apuntar directamente a la columna Action, definida en las tablas anteriores y todo funcionaría correctamente, pero el objetivo es que solo los administradores puedan ver estas páginas.

Para poder configurar este botón, lo primero será crearnos una métrica a través de la cual comparar el usuario actual con los roles de la tabla de usuarios. La métrica será la siguiente:

				
					Rol = LOOKUPVALUE(Users[Rol], Users[User], USERNAME())
				
			

Con esta métrica, accederemos a la tabla de usuarios y obtendremos el rol que tiene asignado el usuario que esté viendo el informe. Por lo cual, para que la navegación funcione, tendremos que tener todos los usuarios que vayan a acceder al informe definidos y con su rol asignado.

El siguiente paso será crear la métrica que defina el destino al que nos llevará la navegación, el código DAX es el siguiente:

				
					NavigationAction = IF([Rol] == "Administrador", SELECTEDVALUE(Menu[Menu]), "Without Permission")
				
			

La lógica es simple, si el rol del usuario es Administrador, la métrica apuntará al valor seleccionado del slicer; en cambio, si tiene otro rol asignado, la opción escogida será Without Permission. Otro punto a tener en cuenta es que tendremos que crear esa página en nuestro informe para que la navegación pueda llevarnos a ella.

Con la métrica de navegación lista, ya solo nos quedará incluir el botón en nuestro informe y configurarlo. En este caso hemos utilizado un botón en blanco para mostrar el texto, pero podría ser cualquier tipo de botón y funcionaría de la misma manera.

ButtonMenu

Para definir la acción que llevará a cabo el botón, una vez seleccionado, en el menú Visualizaciones, dentro de Acción, definiremos su tipo como Navegación de Página y en la opción Destino seleccionaremos el icono Función. Dentro del menú que se abre, seleccionaremos la métrica previamente creada NavigationAction.

Accion

Ahora ya solo nos quedará ocultar las páginas cuyo acceso queremos limitar y tendremos nuestra seguridad a nivel de página definida.

Vamos a publicar el informe en el Servicio de Power BI y vamos a probar si todo funciona correctamente.

Primero vamos a acceder con un usuario con permisos de administrador, y veremos como todo funciona de forma normal.

PanelAdm
PanelAdm2-1

Ahora probemos a acceder con un usuario que no tenga permisos de administrador.

PanelNoAdm
nopermissions - Verne Academy

Curso de Seguridad en Power BI

Aprende a proteger tus informes de Power BI implementando políticas de seguridad para el acceso, limitando la exportación de datos y monitorizando las acciones que realizan cada uno de los usuarios.

Personalización de los botones

Con los pasos anteriores ya tendríamos definida seguridad a nivel de página para nuestro informe, pero aún podemos llevar esto más allá. Aparte de configurar de manera condicional la navegación de página mediante acciones de botones, también podemos personalizar dichos botones para hacerlos más intuitivos y atractivos de cara al usuario.

Power BI nos permite personalizar varios aspectos de los botones de manera condicional, en este caso vamos a ver cómo configurar el color que se muestra al pasar por encima del botón, tanto en el caso de tener permisos como de no tenerlos, y el tooltip que se nos mostrará; aunque Power BI nos permite configurar muchas cosas más.

En primer lugar, vamos a configurar el color de fondo del botón, para ello tendremos que crear una nueva métrica con el siguiente código:

				
					Color = IF([Rol] == "Administrador", "#57B956", "#D82C20")
				
			

La lógica es simple, si el rol del usuario actual es Administrador, la métrica apuntará a un color, y en caso de no ser Administrador apuntará a otro.

Una vez creada la métrica, seleccionamos el botón, vamos al campo Rellenar, dentro del menú Visualizaciones, seleccionamientos la opción Al pasar el cursor y añadimos esta métrica como función en el campo Color.

ColorAccion

El resultado es el siguiente:

ColorBoton

El siguiente paso será modificar el tooltip que se nos mostrará al pasar por encima del botón para ambos casos, para ello utilizaremos de nuevo una métrica con una lógica muy similar a la anterior.

				
					Tooltip = IF([Rol] == "Administrador", "You have the right permissions", "You don't have the right permissions")
				
			

Como vemos, la lógica es muy similar, si nuestro rol es Administrador veremos el primer texto y si tenemos otro rol veremos el segundo.

Para configurar el tooltip condicional deberemos seleccionar nuestro botón, ir a la opción Acción, dentro del menú Visualizaciones, y apuntar en Información sobre herramientas a nuestra métrica.

acciontooltip - Verne Academy

Con esto ya tendríamos nuestro tooltip condicional configurado.

TooltipBoton

Hemos visto que gracias a las nuevas funcionalidades añadidas a Power BI, cosas que antes resultaban muy costosas o que no podíamos implementar, como la seguridad a nivel de página, se vuelven una tarea sencilla. Pero lo visto aquí es solo la punta del iceberg, os animamos a que lo llevéis un paso más allá.

Facebook
Twitter
LinkedIn
Picture of Equipo Verne Academy
Equipo Verne Academy
Deja una respuesta

Artículos Recomendados

¿Buscas formación para

ti o para tu empresa?

Desarrolla tu talento o el de tu equipo con formaciones prácticas impartidas por expertos de la industria. Tú eliges la modalidad: formación privada, clases públicas online en directo o cursos on-demand (formación en video). Durante los cursos trabajamos sobre casos reales y soluciones aplicadas en proyectos, basadas en nuestros años de experiencia. ¿Hablamos? 😉

Carrito0
Aún no agregaste productos.
Seguir viendo
0