Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Pregunta de seguridad de nivel de fila

Hola

Soy nuevo en RLS y necesito un poco de ayuda. Tengo 3 tablas Usuarios, Red y Ventas. Los usuarios tienen una relación con Network que a su vez tiene una relación con Sales. Los usuarios tienen 3 roles: Usuario de red, Administración y Finanzas. Admin y Finance deben poder ver todo en la tabla Sales, mientras que el usuario de red solo debe ver lo que se les ha asignado a través de la tabla de red. No estoy seguro de si necesito crear un rol separado para los 3 roles. He creado un rol de red que parece estar bien, pero me gustaría que el rol de finanzas y administración invalide el rol de red y no esté seguro de cómo hacerlo.

He incluido el archivo pbix aquí.

Gracias por el apoyo.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No hay @JohnLow

¿Podría intentar aplicar un filtro de seguridad

sayaliredij_1-1616419193798.png

Lo intenté al final y funciona

Para el usuario de Finanzas - todo es visible y para el usuario de red - sólo datos relacionados con él

sayaliredij_0-1616419148346.png

View solution in original post

15 REPLIES 15
Syndicate_Admin
Administrator
Administrator

@JohnLow - ¿Ayudó? Tenía curiosidad si me perdí algo

@sayaliredij, genial, gracias por su apoyo.

Syndicate_Admin
Administrator
Administrator

No hay @JohnLow

¿Podría intentar aplicar un filtro de seguridad

sayaliredij_1-1616419193798.png

Lo intenté al final y funciona

Para el usuario de Finanzas - todo es visible y para el usuario de red - sólo datos relacionados con él

sayaliredij_0-1616419148346.png

Syndicate_Admin
Administrator
Administrator

@JohnLow

¿Podría comprobar este archivo

siento haber perdido que la conexión entre la red y las ventas era de una manera

He habilitado la siguiente configuración y luego funcionó

sayaliredij_0-1616405429521.png

@sayaliredij, gracias de nuevo. Me acabo de dar cuenta de que la relación entre la red y las ventas es de muchos a muchos. Debí haber sido más claro en mi modelo. He adjuntado el archivo otra vez. Perdón por la confusión.

Archivo

Syndicate_Admin
Administrator
Administrator

Por favor, intente cargar este archivo y ver si funciona

Syndicate_Admin
Administrator
Administrator

@JohnLow Parece que DAX proporcionado por usted no está manejando todos los escenarios. Creo que no necesitamos agregar 2 DAX en ventas y usuario

Agregué sólo un DAX -

sayaliredij_0-1616389457405.png

y cuando lo veo como

sayaliredij_1-1616389492958.png

Veo todos los datos

sayaliredij_3-1616389806962.png

también compruebe el archivo

@sayaliredij Gracias por el soporte, pero esto no controla los escenarios para los usuarios de red. Por ejemplo, Justin a continuación (UserID 4) solo debería ver las primeras 2 filas de la tabla siguiente, no debería ver la fila con el nombre de la red, Sparkling Socials.

Capture123.JPG

Syndicate_Admin
Administrator
Administrator

Hola, ¿alguien podría ayudarme un poco más aquí? El RLS funciona bien para los usuarios de la red, pero todos los demás usuarios no ven nada y deberían ver todo. Aquí está el archivo: ARCHIVO

Gracias de nuevo.

Syndicate_Admin
Administrator
Administrator

En caso de que no desee usar 2 roles

puede utilizar el siguiente DAX para la tabla de usuario

If(MaxX(
Filtro(
Usuarios
Usuarios[Nombre de usuario] = Nombre de usuario())
,Usuarios[Rol])= "Usuario de red",
Usuarios[Nombre de usuario] = Nombre de usuario(),
1=1
)

@sayaliredij Gracias. Tengo una instrucción DAX similar para mi rol de red en el archivo pbix anterior. Esto funciona bien. Me pregunto si necesito otro papel. ¿Podría echar un vistazo al archivo pbix adjunto, por favor?

[NetworkID] IN
SELECTCOLUMNS (
    FILTER (
        Network,
        Network[UserId]
            = LOOKUPVALUE ( Users[UserID], Users[UserName], USERPRINCIPALNAME() )
    ),
    "NetworkID", [NetworkID]
)

Creo que un papel con DAX arriba debería ser suficiente. Revisé el archivo pbix adjunto y lo intenté con un solo rol y lo vi como un nombre de usuario diferente como se mencionó en la Tabla de usuarios y estaba obteniendo el resultado esperado

@sayaliredij,no estoy seguro. Si agrego, por ejemplo, Leah, una usuaria que no es de la red al grupo de redes en línea, no lo ve todo. Debería verlo todo.

Capture1.JPG

Si prueba con Leah, una usuaria que no es de la red, no ve nada en la tabla:

Capture2.JPG

Lo ideal es un papel. Crearía una nueva columna en la tabla Usuarios con una marca de anulación.

OverRideFlag = IF(
	ISERROR(
		SEARCH("Network", Users[Role])
	),
	"Y",
	"N"
)

A continuación, el DAX diría, si el usuario es un usuario de red (indicador de anulación = no) siga el DAX en el mensaje 4 anterior, si no (indicador de anulación = sí) acceda a todo en la tabla Ventas. Entonces podría agregar el grupo de todos al servicio en línea powerbi y luego se filtraría automáticamente? El único trabajo manual que tendría que hacer es compartir el informe.

Sería genial si pudieras ayudarme con el DAX, gracias de nuevo.

Syndicate_Admin
Administrator
Administrator

Puede crear 2 roles

1. Rol de administrador - donde se puede poner todas las personas que tendrían acceso a todos los números

2. Rol de red con DAX Formule = [Nombre de usuario] = USERNAME()

En el servicio power bi mientras define la configuración de RLS para admin role - puede poner a todas las personas de administrador y finanzas y para otros roles de red - personas de departamentos de red (todas las demás personas)

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.