Forum Discussion
Otra pregunta de RLS: roles predeterminados
Estoy tratando de averiguar el comportamiento predeterminado cuando a un usuario no se le asigna un rol utilizando la seguridad de nivel de fila. He leído muchos artículos / preguntas y visto videos, pero ninguno parece abordar el problema que estoy viendo.
Tengo un informe con muchas páginas, solo hay una página que contiene datos de un conjunto de datos al que me gustaría restringir el acceso. Quiero restringir el acceso a todos los datos de esa tabla para todos los usuarios a menos que estén asignados a un rol. Para hacer esto, creé una columna ficticia llamada 'Tipo' en el conjunto de datos y la llené con el valor 'Administrador'. Luego creé un rol llamado 'Gerentes' en mi mesa que tenía la expresión DAX simple:
[Type] = "Manager"
Publiqué el informe en mi espacio de trabajo personal y lo compartí con un par de colegas para probarlo. Le di a algunos colegas el rol de gerente y a otros ningún rol. Me aseguré de que al compartir esos colegas tuvieran los permisos mínimos posibles, es decir, que solo pudieran ver el informe.
Lo que esperaba:
Esperaba que mis compañeros a los que no se les había asignado un rol no pudieran ver los datos en la pestaña donde había configurado un rol. Esperaba que a los colegas se les asignara un rol para poder ver los datos en esa pestaña.
Lo que realmente sucedió:
Los colegas a los que no se les asignó un rol aún podían ver los datos en la pestaña donde había implementado el rol Gerentes. Esto significaba que el rol predeterminado era poder ver todos los datos (no lo que quería)
Una posible solución:
Una solución fue crear otro rol llamado Otros usuarios y asignarle la expresión
[Type] <> "Manager"
Sin embargo, lo anterior es un enfoque defectuoso, lo que significaría que tengo que asignar un rol a cada espectador del informe, o podrán ver datos que no quiero que lo hagan. ¿Seguramente Power BI ya ha resuelto este problema de tener un rol predeterminado? ¿Alguien tiene alguna sugerencia?
En primer lugar, las personas que tienen acceso al espacio de trabajo con cualquiera de los roles de colaborador/miembro siempre verán todos los datos de los conjuntos de datos en el espacio de trabajo. En ese sentido, las personas que solo consumirían informes no deberían formar parte del espacio de trabajo como Colaborador/Miembro.
Si comparte un informe con alguien que no es colaborador/miembro de su área de trabajo Y ha agregado un rol para RLS en el conjunto de datos subyacente del informe, debe pertenecer a uno de los roles.
Normalmente, crearía un rol en blanco No_RLS y el rol no filtra nada.
A continuación, creará un grupo de AD para las personas que deben pertenecer a este rol y podrá asignar este grupo al rol cuando configure la seguridad en el conjunto de datos.Si el usuario no pertenece a ningún rol, recibirá automáticamente un mensaje de error sobre no poder acceder/ver los datos.
8 Replies
- Syndicate_AdminAdministrator
No está seguro de si su entorno de prueba es adecuado. Hay bastantes cosas a considerar, como esta aquí:
Seguridad de nivel de fila (RLS) con Power BI - Power BI | Documentos de Microsoft
- Syndicate_AdminAdministrator
Agradezco su respuesta, pero ya he leído esa documentación (y mucha más sobre RLS) antes de publicar y no es útil tratar de entender por qué mi uso no funciona. Además, todos los que pedí probar eran solo espectadores (como expliqué en mi publicación original), que por el enlace que publicaste dice que RLS debería aplicarse. Sin embargo, solo se aplicó a aquellos con un rol asignado. ¿Por qué a las personas sin rol se les permitió ver TODOS los datos, el concepto no tiene sentido? Si desea restringir los datos, tiene que haber algún tipo de vista predeterminada, ¿no? De lo contrario, corre el riesgo de no asignar un rol a alguien y puede acceder a datos que no debería poder
- Syndicate_AdminAdministrator
Eso es en realidad lo que sucede en un entorno premium. A los usuarios se les presentará un mensaje de error que indica que se deniega el acceso porque no son miembros de ningún rol.
- Syndicate_AdminAdministrator
En primer lugar, las personas que tienen acceso al espacio de trabajo con cualquiera de los roles de colaborador/miembro siempre verán todos los datos de los conjuntos de datos en el espacio de trabajo. En ese sentido, las personas que solo consumirían informes no deberían formar parte del espacio de trabajo como Colaborador/Miembro.
Si comparte un informe con alguien que no es colaborador/miembro de su área de trabajo Y ha agregado un rol para RLS en el conjunto de datos subyacente del informe, debe pertenecer a uno de los roles.
Normalmente, crearía un rol en blanco No_RLS y el rol no filtra nada.
A continuación, creará un grupo de AD para las personas que deben pertenecer a este rol y podrá asignar este grupo al rol cuando configure la seguridad en el conjunto de datos.Si el usuario no pertenece a ningún rol, recibirá automáticamente un mensaje de error sobre no poder acceder/ver los datos.
- Syndicate_AdminAdministrator
Gracias por esta información adicional, creo que esto casi resuelve mi pregunta. Solo para aclarar, por AD te refieres a Active Directory en Azure, ¿verdad?
- Syndicate_AdminAdministrator
Hola.
¿Cómo puedo crear un rol en blanco???
Gracias de antemano
- Syndicate_AdminAdministrator
Haz que devuelva TRUE()