Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Me enfrento a un problema al implementar RLS para proteger los datos confidenciales en mi tabla de hechos.
A continuación se muestra el diagrama de mi modelo de datos:
Actualmente, puedo proteger mi importe de ventas de medida mediante DAX a nivel de servicio. Como un usuario con condiciones de omisión no puede ver el valor.
M_Sales_Amount = If(COUNTROWS(FILTER(omit_country, omit_country [measure_group]="Sale" && omit_country [mail]=USERPRINCIPALNAME()))>0 || COUNTROWS(FILTER(omit_product, omit_product[measure_group]="Precio" &&omit_country [mail]=USERPRINCIPALNAME()))>0 ,Blank(),Sum(sales_amount))
Pero, hay un problema cuando el usuario final abre el modelo en el escritorio pbi, puede ver la columna sales_amount que compone la medida, incluso si está oculto y esto viola la seguridad.
Por lo tanto, actualicé mis roles y agregué filtros adicionales de la M_table como a continuación:
Esto funciona a veces, pero si hay escenarios en los que un usuario puede ser omit_country y omit_product ambos pero con el mismo measure_group eso no funciona.
¿Puede alguien por favor ayudarme aquí cómo puedo lograr esto? Estoy realmente atascado aquí y agradecería un poco de ayuda por favor.
Solved! Go to Solution.
Si sus usuarios son editores o colaboradores, podrán acceder a él. No hay seguridad de nivel de columna en Power BI.
Veo que está confiando en relaciones de varios a varios y esto podría ayudarnos con una solución indirecta dependiendo del tamaño de sus datos.
Si su M_table no es tan grande en tamaño, puede duplicarlo en Power Query después de quitar los valores de su cantidad de ventas... haz que sea ceros y agrega una nueva columna digamos SecurityApplied=1.
Agregue la misma columna a la tabla original con el valor 0 (SecurityApplied=0) y, a continuación, anexe la nueva tabla a la original.
En los roles de seguridad, debe filtrar la tabla anexada para que todos los usuarios tengan SecurityApplied 1 o 0 para evitar la duplicación de otros valores para los usuarios con privilegios más altos.
Estoy de acuerdo con @m_refaei aquí: RLS y OLS está destinado a ser creado en PBI Desktop (bueno, OLS necesita editor tabular, pero es factible) y aplicado en PBI Service. Con OLS ahora es posible ocultar columnas. En segundo lugar, no veo la necesidad de implementar RLS en el nivel de medida- generalmente desea mantener sus medidas limpias. Recomendaría comenzar con el siguiente enlace y ajustar su enfoque:
Configuración de seguridad de nivel de fila en Power BI Desktop - RADACAD
Reza también tiene un gran libro dedicado específicamente a RLS:
https://www.amazon.com/Row-Level-Security-Power-BI-different-ebook/dp/B082SFR2J4
¿Ha intentado ocultar la columna en esta tabla? Los usuarios solo pueden confiar en la medida.
Probablemente esta es la mejor opción ya que no desea filtrar el M_table.
Hola @m_refaei ,
Ocultar la columna en la tabla no la ocultará completamente al usuario final. Ya que todavía pueden usar las columnas ocultas para crear medidas y ver datos confidenciales.
Si sus usuarios son editores o colaboradores, podrán acceder a él. No hay seguridad de nivel de columna en Power BI.
Veo que está confiando en relaciones de varios a varios y esto podría ayudarnos con una solución indirecta dependiendo del tamaño de sus datos.
Si su M_table no es tan grande en tamaño, puede duplicarlo en Power Query después de quitar los valores de su cantidad de ventas... haz que sea ceros y agrega una nueva columna digamos SecurityApplied=1.
Agregue la misma columna a la tabla original con el valor 0 (SecurityApplied=0) y, a continuación, anexe la nueva tabla a la original.
En los roles de seguridad, debe filtrar la tabla anexada para que todos los usuarios tengan SecurityApplied 1 o 0 para evitar la duplicación de otros valores para los usuarios con privilegios más altos.
Estoy de acuerdo con @m_refaei aquí: RLS y OLS está destinado a ser creado en PBI Desktop (bueno, OLS necesita editor tabular, pero es factible) y aplicado en PBI Service. Con OLS ahora es posible ocultar columnas. En segundo lugar, no veo la necesidad de implementar RLS en el nivel de medida- generalmente desea mantener sus medidas limpias. Recomendaría comenzar con el siguiente enlace y ajustar su enfoque:
Configuración de seguridad de nivel de fila en Power BI Desktop - RADACAD
Reza también tiene un gran libro dedicado específicamente a RLS:
https://www.amazon.com/Row-Level-Security-Power-BI-different-ebook/dp/B082SFR2J4
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |