farhanahmed
Guión
Ha implementado la seguridad de nivel de fila para restringir a los usuarios para ver los datos en consecuencia, pero desea crear un rol de administrador dinámico que se pueda asignar a cualquier usuario para ver todos los datos y, al mismo tiempo, no desea asignar el permiso de administrador al usuario. .
Aquí está el modelo actual
Tabla RLS actual
Usuario |
ID de departamento |
abcd@empresa.com |
A |
abcd@empresa.com |
B |
xyz@empresa.com |
C |
xyz@empresa.com |
D |
hhh@empresa.com |
C |
Preparación de datos
Para esto, necesitas
- Cree una tabla que tendrá información sobre los usuarios que son administradores o no.
Usuario |
AdminRole |
abcd@empresa.com |
0 |
xyz@empresa.com |
0 |
hhh@empresa.com |
1 |
- Ahora debe desconectar su tabla RLS actual con el modelo y crear una nueva tabla que contenga todos los departamentos para el usuario con función de administrador y mantenga a otros usuarios iguales.
UserTable =
UNION(
SUMMARIZE(RLS,RLS[User],RLS[DeptID]), CROSSJOIN(SUMMARIZE(FILTER(User,User[AdminRole]=1),User[User]),SUMMARIZE(Department,Department[DeptID])))
Oculte la tabla de administración y la tabla RLS del modelo y use este «UserTable” como tabla RLS para restringir a los usuarios a ver los datos apropiados
Pruebas
Prueba como un usuario normal
Prueba como usuario administrador
Verá que ahora puede controlar a sus usuarios para convertirlos en administradores a través de la tabla de control en lugar de asignar permisos de administrador en el espacio de trabajo o en cualquier nivel.
Con suerte, esto ayudará a los desarrolladores a tener más control al asignar permisos de administrador a los usuarios sobre los datos.
Saludos
Farhan
2