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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Enmascaramiento dinámico de datos

Hola

Trabajo en una organización con un gran número de puntos de venta. Tenemos datos de ventas de estos puntos de venta, incluido el nombre del vendedor que realizó la venta. La tabla de datos de ventas tiene un identificador de empleado, que luego se une a una tabla de empleado en la que se ha aplicado el enmascaramiento de datos dinámicos en el origen (Fabric Lakehouse).

¿Es posible configurar algunas reglas dinámicas en Power BI que permitan a todos los usuarios que trabajan en la ubicación A ver los datos desenmascarados para ellos y sus compañeros en la misma ubicación, pero solo para ver los datos enmascarados fuera de su propia ubicación? Tenemos la complicación añadida de que cada tienda reportaría a un Gerente de Área, y necesitaríamos que el Gerente de Área viera todos los datos desenmascarados de todas las Ubicaciones de las que eran responsables, pero solo los datos enmascarados de todos los demás.

¿Espero poder hacer demasiado con esto, sin tener que crear un montón de roles/grupos?

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

La aplicación del enmascaramiento dinámico de datos directamente en Power BI, similar a lo que ha descrito, requiere un enfoque estratégico, especialmente teniendo en cuenta la complejidad de los diferentes niveles de visibilidad para diferentes usuarios.

Aquí hay una estrategia simplificada sobre cómo puede lograr esto:

Paso 1: Configurar el modelo de datos

Asegúrese de que su modelo de datos tenga una tabla que asigne a los empleados a sus ubicaciones y una asignación independiente para los gerentes de área a sus ubicaciones. Esta configuración será crucial para definir los roles de seguridad.

Paso 2: Implementar la seguridad de nivel de fila (RLS)

Puede usar RLS para filtrar dinámicamente los datos en función del inicio de sesión del usuario. Aunque RLS controla tradicionalmente el acceso a filas de datos, puede usarlo de forma creativa junto con columnas o medidas calculadas para enmascarar o desenmascarar datos.

Pasos básicos en Power BI Desktop:

1. **Crear roles**: Ve a la pestaña Modelado y haz clic en "Administrar roles". Para cada ubicación y para los administradores de área, creará un rol específico. Por ejemplo, "Location_A_Staff", "Area_Manager_X", etc.

2. **Definir filtros**: para cada rol, se definen filtros DAX en las tablas que determinan qué datos puede ver el rol. Para el personal de la ubicación A, el filtro garantizaría que solo vean los datos desenmascarados de la ubicación A. Para un administrador de área responsable de las ubicaciones A, B y C, el filtro le permitiría ver los datos desenmascarados de estas ubicaciones.

Ejemplo de filtro DAX para un rol de personal en la ubicación A:
'''DAX
[Ubicación] = "Ubicación A"
O
USERPRINCIPALNAME() = [Correo electrónico del empleado] -- Suponiendo que el correo electrónico se puede utilizar para identificar a los usuarios de forma única
'''

Ejemplo de filtro DAX para un rol de administrador de área:
'''DAX
[ID de administrador de área] = LOOKUPVALUE([ID de administrador], [Tabla de usuario], USERPRINCIPALNAME(), [Correo electrónico del empleado])
O
[Ubicación] IN { "Ubicación A", "Ubicación B", "Ubicación C" }
'''

Paso 3: Lógica de enmascaramiento dinámico

Dado que RLS filtra las filas y no los valores de columna individuales, para lograr el enmascaramiento dinámico, deberá usar columnas o medidas calculadas que muestren valores diferentes en función del rol del usuario.

- **Columna calculada para el nombre del vendedor**: crea una columna calculada que compruebe si el usuario actual debe ver el nombre sin máscara en función de su ubicación o función. Si no es así, muestre un valor enmascarado.

'''DAX
Nombre del vendedor visible =
SI(
[Location] = USERLOCATION() -- Asume una función o lógica para determinar la ubicación del usuario,
[Nombre del vendedor], -- Desenmascarado
"Enmascarado" -- Enmascarado
)
'''

Paso 4: Implementación y prueba

Después de configurar RLS y la lógica de enmascaramiento dinámico, publique el informe en Power BI Service. A continuación, configure los roles para cada usuario o grupo de usuarios a través del servicio. Realice pruebas exhaustivas para asegurarse de que cada usuario vea exactamente lo que se supone que debe ver.

Consideraciones

- Este enfoque requiere una configuración y un mantenimiento cuidadosos, especialmente a medida que se agregan nuevas ubicaciones o roles.
- Power BI no admite directamente la seguridad de nivel de columna ni el enmascaramiento dinámico de forma predeterminada. El método descrito es una solución alternativa y es posible que necesite ajustes en función de la estructura de datos específica y los requisitos de seguridad.
- En escenarios complejos, considere la posibilidad de mantener una tabla independiente con valores enmascarados y no enmascarados, controlados por RLS, para simplificar las expresiones DAX.

Syndicate_Admin
Administrator
Administrator

Gracias @Ritaf1983 , me había encontrado con esta publicación antes mientras investigaba el tema, pero no aborda el problema. Esperaba que alguien más tuviera un ejemplo más cercano a lo que yo buscaba.

Syndicate_Admin
Administrator
Administrator

Hola @TheCreepster1
Parece que no hay otra forma de alcanzar sus objetivos, solo con seguridad dinámica a nivel de fila con jerarquías y grupos.

Para obtener más información, consulte:

https://radacad.com/dynamic-row-level-security-with-organizational-hierarchy-power-bi

Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors