Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

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?

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    @WByrne

    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

  • 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_Admin's avatar
      Syndicate_Admin
      Administrator

      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_Admin's avatar
      Syndicate_Admin
      Administrator

      @WByrne

      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_Admin's avatar
        Syndicate_Admin
        Administrator

        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?