M365Con 2027 – conferencia online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Implementación de seguridad dinámica a nivel de fila en Power BI y Microsoft Fabric: arquitectura, patrones DAX y gobernanza de nivel empresarial

By · · Updated

Implementa seguridad dinámica a nivel de fila en Power BI y Microsoft Fabric para controlar el acceso de los usuarios a los datos, garantizar el cumplimiento y adaptarte a los cambios de la organización.

Automatically translated with AI from the original post. Read the English original

▶ BLOGImplementing DynamicRow-Level Security in…M365.FM
Titelbild: Implementing Dynamic Row-Level Security in Power BI and Microsoft Fabric: Architecture, DAX Patterns, and Enterprise-Grade Governance

Conviene pensar en la seguridad dinámica a nivel de fila como un sistema que puede cambiar. Crece y evoluciona junto con tu organización. El diseño del modelo de datos, las expresiones DAX, la identidad de los usuarios y la gobernanza influyen en cómo funciona la seguridad en Power BI y Microsoft Fabric. Si la configuras correctamente, podrás decidir quién puede ver determinados datos.

Área clave

Impacto en RLS

Seguridad dinámica

Filtra los datos por usuario, mediante DAX en el modelo

Gobernanza

Garantiza que el acceso cumpla las normas y se mantenga seguro

Diseño del modelo

Te permite controlar quién ve los datos sensibles

Puntos clave

Repensar los sistemas de seguridad a nivel de fila

La seguridad como sistema basado en el modelo

La seguridad a nivel de fila es un sistema que conecta distintas partes de tu plataforma analítica. Al diseñar el modelo de datos, empiezas a construir la seguridad de los datos. La forma en que configuras las tablas, las relaciones y los roles determina cómo ve cada persona los datos. Si tu empresa crece o se incorporan nuevos equipos, tendrás que actualizar tus reglas de seguridad. La seguridad a nivel de fila no es algo que se configura una vez y se olvida. Cambia a medida que cambia tu negocio y surgen nuevas necesidades.

Consejo: revisa el modelo de datos con frecuencia. Un buen modelo facilita la seguridad y te ayuda a evitar errores.

Tu modelo debe tener relaciones claras y tablas de seguridad específicas. Así podrás controlar quién ve determinados datos y mantener protegida la información privada. La seguridad dinámica a nivel de fila puede asociar lo que ve cada usuario con su grupo o su puesto en Fabric. De este modo, podrás cambiar los permisos con rapidez cuando cambie tu organización.

Seguridad a nivel de fila estática frente a dinámica

Existen dos formas principales de configurar la seguridad de los datos: estática y dinámica a nivel de fila. La seguridad estática utiliza reglas fijas: defines roles y filtros para cada grupo. Es adecuada para equipos pequeños o cuando los accesos apenas cambian. La seguridad dinámica a nivel de fila utiliza la identidad del usuario que ha iniciado sesión y tablas de asignación. Comprueba quién es el usuario y ajusta de inmediato los datos que puede ver. Es mejor opción para grandes empresas con muchos usuarios y reglas cambiantes.

Aquí tienes una tabla con las diferencias:

Característica

RLS (estática)

DLS (dinámica)

Flexibilidad

Baja

Alta

Configuración

Roles manuales

Basada en reglas con asignación de usuarios

Caso de uso ideal

Pocos usuarios / acceso fijo

Muchos usuarios / acceso personalizado

La seguridad dinámica a nivel de fila te ofrece más formas de controlar el acceso. Utiliza elementos como USERPRINCIPALNAME() y tablas de asignación para vincular a cada usuario con los datos que le corresponden. La seguridad estática es sencilla, pero no funciona bien si tu empresa crece o cambia mucho.

Para proteger tus datos, elige el enfoque que mejor se adapte a tus necesidades. Una buena planificación y un modelo sólido te ayudarán a proteger la información privada y a mantener segura tu analítica.

Patrones de seguridad dinámica a nivel de fila en Fabric

Funciones DAX: USERPRINCIPALNAME() frente a USERNAME()

Es importante entender cómo funciona la identidad en Fabric. Hay dos funciones principales que intervienen en la configuración de la seguridad a nivel de fila: USERPRINCIPALNAME() y USERNAME(). Ambas identifican a la persona que consulta el informe. USERPRINCIPALNAME() devuelve el correo electrónico del usuario en la nube, mientras que USERNAME() suele devolver un nombre de cuenta local, sobre todo en Power BI Desktop. Si usas USERNAME() en la nube, es posible que no funcione correctamente, lo que puede hacer que tus datos estén menos protegidos.

Consejo: Usa siempre USERPRINCIPALNAME() para la seguridad dinámica a nivel de fila en Fabric. Esta función devuelve la dirección de correo electrónico en la nube del usuario y mantiene tus datos protegidos.

Función

Devuelve

Mejor caso de uso

USERPRINCIPALNAME()

Dirección de correo electrónico en la nube

Fabric, Power BI en la nube

USERNAME()

Nombre de cuenta local

Solo para pruebas en Desktop

Si usas la función incorrecta, los usuarios podrían ver datos que no deberían. Tienes que probar tu seguridad en la nube, no solo en Desktop.

Patrones y antipatrones seguros de DAX

Quieres que tus datos estén seguros. Necesitas patrones DAX sólidos para la seguridad dinámica a nivel de fila. La mejor forma es usar tablas de asignación y reglas dinámicas. Así controlas quién puede ver qué.

Un buen patrón DAX usa una búsqueda para relacionar a los usuarios con su grupo. Funciona bien en empresas con muchos grupos. Este es un buen ejemplo:

Organizations[Id] = LOOKUPVALUE(
    AspNetUsers[OrganizationId],
    AspNetUsers[Email],
    USERPRINCIPALNAME()
)

Este patrón comprueba el correo electrónico del usuario y localiza su grupo. Puedes usarlo para mostrar solo los datos adecuados. Este enfoque es mejor que comparar solo correos electrónicos. Funciona bien a medida que crece tu empresa y mantiene tus datos protegidos.

Nota: No codifiques correos electrónicos de forma fija ni uses columnas calculadas para el acceso. Estos métodos pueden dejar de funcionar si los usuarios cambian o si la empresa crece.

Algunos antipatrones pueden provocar fugas de datos:

Usa siempre reglas dinámicas y tablas de asignación. Así tu modelo de datos se mantiene sencillo y tus datos seguros.

Jerarquías y la función PATH()

A veces necesitas seguridad para responsables, equipos o departamentos. Las jerarquías te ayudan a conseguirlo. La función PATH() de DAX permite crear vínculos padre-hijo. Puedes usarla para controlar quién ve qué en cada nivel.

Por ejemplo, puedes crear una tabla con los identificadores de empleado y de responsable. PATH() construye una cadena desde cada trabajador hasta su jefe. Después puedes usar DAX para filtrar los datos de cada nivel.

PATH(Employee[EmployeeID], Employee[ManagerID])

Esta función te ayuda a configurar la seguridad dinámica a nivel de fila en grandes empresas. Puedes permitir que los responsables vean los datos de su equipo. También puedes evitar que los trabajadores habituales vean demasiado.

Consejo: Usa PATH() para la seguridad con jerarquías. Así tu modelo de datos es flexible y tus datos siguen protegidos.

Puedes combinar filtros de fila, máscaras de columna y funciones de jerarquía. Así proteges los datos privados y controlas el acceso a medida que crece tu empresa.

Arquitectura de roles y relaciones

Diseño de tablas de seguridad

Necesitas crear tablas de seguridad para la seguridad dinámica a nivel de fila. Estas tablas indican qué usuarios pueden ver qué datos. Usa columnas para el correo electrónico del usuario, el grupo y el nivel de acceso. Esta configuración te ayuda a mantener los datos seguros a medida que crece tu empresa.
Al crear roles, separa los roles estrictos de los abiertos. Si un rol permite a alguien ver todo, los demás roles con seguridad a nivel de fila podrían no funcionar correctamente. Debes evitar que los roles se pisen entre sí para mantener los datos seguros.

Relaciones del modelo de datos

La forma en que construyes tu modelo de datos cambia la manera en que controlas el acceso. Usa vínculos unidireccionales entre tablas. Así el modelo es sencillo y evitas errores.
Es mejor usar tablas de seguridad específicas que incluir los permisos en las tablas de hechos. Puedes vincular tu tabla de seguridad con otras tablas, como las de departamento o región. De este modo, puedes filtrar los datos para cada usuario o grupo.

Consejo: Usa tablas puente para vincular usuarios con los datos. Así funciona la seguridad dinámica a nivel de fila y tus datos siguen protegidos.

Granularidad de roles: roles pequeños frente a roles grandes

Tienes que decidir qué nivel de detalle tendrán tus roles. Los roles pequeños te dan más control. Puedes dar acceso por puesto o por grupo. Los roles grandes cubren a más personas, pero pueden ser arriesgados si las cosas cambian.
Revisa con frecuencia quién tiene cada rol. Así mantienes tus datos seguros y puedes hacer cambios cuando sea necesario.
Elige roles pequeños para tener más control y actualizaciones más sencillas. Los roles grandes pueden funcionar en grupos sencillos, pero pueden causar problemas en empresas grandes.

Asignación de usuarios y grupos en Fabric

Grupos de Azure AD frente a usuarios individuales

Das acceso en Fabric añadiendo usuarios a grupos de Azure AD. De este modo, puedes controlar los datos de muchas personas a la vez. Es más seguro usar grupos que añadir a cada persona por separado. Los grupos te ayudan a administrar tu sistema con menos trabajo. Cuando cambia tu equipo, puedes actualizar los grupos rápidamente. Vincular grupos a roles facilita el modelado de datos. Tus reglas de seguridad a nivel de fila se mantienen claras y sencillas.

Consejo: Usa grupos de Azure AD para el control de acceso. Así cometes menos errores y ahorras tiempo.

Grupos superpuestos y acceso oculto

Debes vigilar los grupos superpuestos. A veces, un usuario está en más de un grupo. Esto puede permitirle ver datos que no debería. El acceso oculto se produce cuando este error permite a los usuarios ver datos adicionales. Debes revisar las listas de grupos con frecuencia para evitarlo. Usa tablas para registrar qué usuarios pertenecen a cada grupo. Un buen modelado de datos te ayuda a detectar problemas a tiempo. Elimina a los usuarios de los grupos que ya no necesiten para proteger los datos.

Problema

Solución

Grupos superpuestos

Revisa las listas de grupos con frecuencia

Acceso oculto

Revisa los miembros de los grupos

Nota: El acceso oculto puede mostrar datos privados. Corrige los solapamientos de grupos para mantener tu sistema seguro.

Revisiones de acceso programadas

Debes planificar revisiones de acceso periódicas. Comprueba quién está en cada grupo cada cierto tiempo. Pide a los propietarios de los grupos que indiquen quién debería tener acceso. Así, tu seguridad dinámica a nivel de fila seguirá funcionando a medida que crezca tu empresa. Usa las herramientas de Fabric para ayudarte con estas comprobaciones. Elimina a los usuarios antiguos para hacer tus datos más seguros. Así tu sistema de análisis se mantiene limpio y seguro. Haz de las revisiones de acceso una parte habitual de tu trabajo de inteligencia de negocios.

Alerta: Las revisiones periódicas te ayudan a detectar errores antes de que causen problemas.

Resolución de identidad: Desktop frente a Fabric

Funciones de identidad y diferencias en la nube

Es importante saber cómo funciona la identidad en Power BI Desktop y en Microsoft Fabric. En Power BI Desktop, USERNAME() normalmente muestra el nombre de tu equipo. En Microsoft Fabric, USERPRINCIPALNAME() devuelve tu dirección de correo en la nube. Esta diferencia es clave para proteger los datos. Si usas USERNAME() en la nube, podrían ver datos las personas equivocadas. Usa siempre USERPRINCIPALNAME() en los informes de la nube. Así proteges tus datos y te ajustas al sistema de identidades de tu empresa.

Consejo: Prueba tus reglas de seguridad a nivel de fila en la nube. Las pruebas en Desktop no muestran el acceso real de los usuarios.

Propietario del conjunto de datos y configuración del inquilino

Debes saber quién es el propietario de tu conjunto de datos. El propietario puede cambiar la configuración de actualización y afectar a quién ve los datos. Si cambias el propietario, podrías modificar quién puede ver datos privados. La configuración del inquilino también es importante. Estos ajustes determinan cómo funcionan las identidades en tu empresa. Revisa la configuración del inquilino antes de publicar los informes. Asegúrate de que tu modelo de datos cumple las reglas de seguridad de tu empresa.

Configuración

Impacto en la seguridad de los datos

Propietario del conjunto de datos

Controla la actualización y el acceso

Configuración del inquilino

Gestiona la organización de identidades

Causas habituales de fugas de RLS

Puedes perder el control de la seguridad a nivel de fila si no pruebas en la nube. A veces, los usuarios ven más datos de los que deberían. Esto puede pasar si usas una función de identidad incorrecta o si olvidas actualizar la pertenencia a grupos. Las fugas también pueden producirse si cambias tu modelo de datos sin revisar las tablas de seguridad. Revisa siempre la configuración de seguridad de tus datos después de hacer cambios. Usa pruebas en la nube y auditorías periódicas para detectar problemas a tiempo.

Alerta: Las fugas de seguridad de datos pueden mostrar información privada. Revisa tu configuración con frecuencia para proteger tu organización.

Pruebas, auditoría y gobernanza

Pruebas de RLS en la nube

Debes probar la seguridad a nivel de fila en la nube. Así te aseguras de que tus datos estén protegidos para los usuarios reales. La herramienta "Ver como" de Desktop solo muestra una vista previa. No muestra cómo funcionan las reglas en Microsoft Fabric. Después de publicar tu informe, prueba con usuarios y grupos reales. Así podrás ver lo que puede ver cada persona. Usa cuentas de prueba para comprobar que los usuarios solo ven sus propios datos. Vuelve a probar siempre que cambies roles o actualices tu modelo. Las pruebas en la nube te ayudan a detectar problemas antes de que afecten a tu negocio.

Consejo: prueba siempre con usuarios reales en la nube, no solo en Desktop. Así mantienes sólida la seguridad de tus datos.

Automatización para auditorías y revisiones

Puedes usar la automatización para facilitar las auditorías y revisiones en Fabric. La automatización comprueba los permisos de los espacios de trabajo, los flujos de datos y las etiquetas de confidencialidad según una programación. Microsoft Purview te ofrece paneles para hacer seguimiento de las reglas en toda tu plataforma. Puedes usar los registros de actividad y las API de administración para detectar problemas de cumplimiento. La automatización te ayuda a detectar problemas a tiempo y ahorra tiempo. Los auditores pueden ver el recorrido completo de las columnas sensibles desde el origen hasta el informe. Así las revisiones son más rápidas y precisas. Además, la automatización facilita y abarata el cumplimiento de normativas como el RGPD y HIPAA.

Documentación y gestión de cambios

Necesitas buenos registros para que tu sistema de seguridad de datos sea claro. Anota tus reglas de seguridad, las listas de grupos y los cambios en los roles. Actualiza tus notas cuando cambies el modelo o agregues usuarios. Los registros claros te ayudan a hacer seguimiento de qué datos puede ver cada persona. También facilitan que los nuevos miembros del equipo entiendan tu sistema. La gestión de cambios significa revisar y aprobar las actualizaciones antes de que entren en producción. Así tu seguridad a nivel de fila se mantiene protegida a medida que crece tu empresa.

Tarea

Beneficio

Documentar cambios

Evita confusiones

Revisar actualizaciones

Bloquea accesos no deseados

Hacer seguimiento de las asignaciones

Hace los datos más seguros

Alerta: mantén tus registros actualizados. Así proteges tus datos y solucionas los problemas con rapidez.

Conviene pensar en la seguridad a nivel de fila como algo que evoluciona a medida que crecen tus datos y tu empresa. Una configuración sólida ayuda a mantener protegida la información privada. Usar buenos patrones de DAX y gestionar bien la identidad de los usuarios protege tus datos. Revisar tu seguridad y documentar los cambios te ayuda a detectar problemas a tiempo. Si planificas con antelación, podrás controlar quién ve los datos y mantener seguros tus análisis.

Preguntas frecuentes

¿Qué es la seguridad dinámica a nivel de fila en Power BI y Fabric?

La seguridad dinámica a nivel de fila te permite controlar el acceso a los datos según quién esté viendo el informe. Usas funciones DAX y tablas de asignación para relacionar a los usuarios con los datos que les corresponden.

¿Por qué debes usar USERPRINCIPALNAME() en lugar de USERNAME()?

USERPRINCIPALNAME() devuelve el correo electrónico en la nube del usuario. Esto funciona mejor en Power BI y Fabric. USERNAME() puede mostrar un nombre local, lo que puede provocar problemas de seguridad en la nube.

¿Cómo ayudan los grupos de Azure AD a la seguridad?

Los grupos de Azure AD te permiten gestionar el acceso de muchos usuarios a la vez. Agregas usuarios a los grupos y asignas roles. Así tu configuración de seguridad es más sencilla y segura.

¿Qué es una tabla de seguridad y por qué la necesitas?

Una tabla de seguridad enumera usuarios, grupos y permisos. La usas para controlar quién puede ver determinados datos. Así proteges tus datos a medida que crece tu empresa.

¿Con qué frecuencia debes probar la seguridad a nivel de fila en la nube?

Debes probar la seguridad a nivel de fila cada vez que cambies roles, grupos o tu modelo de datos. Las pruebas en la nube muestran lo que pueden ver los usuarios reales y te ayudan a detectar problemas a tiempo.

Microsoft Fabric Governance Power BI

Related articles

RSS