Panama Power BI User Group

Please login or click SIGN UP FOR FREE to create your PowerPlatformUG account to join this user group.

Seguridad a Nivel de Fila (RLS, Row Level Security) con Power BI

  • 1.  Seguridad a Nivel de Fila (RLS, Row Level Security) con Power BI

    Top Contributor
    Posted Oct 15, 2018 10:57 AM

    Es quiza una de la funciones menos conocidas y con mucha utilidad cuando se trata de distribuir o compartir reportes / dashboards con multiples usuarios.

    La seguridad de nivel de fila (RLS) con Power BI se puede usar para restringir o filtrar el acceso a los datos de un reporte para determinados usuarios. Los filtros restringen el acceso a los datos a nivel de fila, y puede definir filtros dentro de los roles. 

    Debe tenerse cuenta que en Power BI Service (powerbi.com), los miembros de un área de trabajo tienen acceso a los conjuntos de datos en el área de trabajo. Por tanto, RLS no restringe este acceso customizado a los datos del reporte.

    Puede configurar RLS para los modelos de datos importados en Power BI con Power BI Desktop. También puede configurar RLS en conjuntos de datos que usan DirectQuery, como SQL Server. Para las conexiones en vivo de Analysis Services, configure la seguridad de nivel de fila en el modelo local. La opción de seguridad no se mostrará para los conjuntos de datos de conexión en vivo.

    Definir roles y reglas dentro de Power BI Desktop 

    Al definir roles y reglas dentro de Power BI Desktop, también publicará las definiciones de roles en Power BI Service.

    Para definir roles de seguridad, haga lo siguiente:

    1.   Importe datos a su informe de Power BI Desktop o configure una conexión de DirectQuery.

    No puede definir roles dentro de las conexiones en vivo de Power BI Desktop for Analysis Services. Tendrá que hacerlo dentro del modelo de Analysis Services.

    2.   Seleccione la pestaña Modeling

    3.   Seleccione Manage Roles

    4. Seleccione Create

    5. Proporcione un nombre para el role

    6.   Seleccione la tabla a la que desea aplicar una regla DAX.

    7.   Introduzca las expresiones DAX. Esta expresión debe devolver un verdadero o falso. Por ejemplo: [ID de entidad] = "Valor".

     Puede usar el nombre de usuario () dentro de esta expresión. Tenga en cuenta que username () tendrá el formato DOMAIN \ username en Power BI Desktop. Dentro del servicio Power BI, estará en el formato de UPN del usuario. Alternativamente, puede usar userprincipalname () , que siempre devuelve al usuario en el formato de su nombre principal de usuario.

    8.   Una vez que haya creado la expresión DAX, puede seleccionar la casilla de verificación sobre el cuadro de expresión para validar la expresión.

    9.   Seleccione Save 

    No puede asignar usuarios a un rol dentro de Power BI Desktop, se hace dentro de Power BI Service. Sin embargo, puede habilitar la seguridad dinámica en Power BI Desktop haciendo uso de las funciones de DAX username() o userprincipalname() y configurando las relaciones.

    De forma predeterminada, el filtrado de seguridad a nivel de fila utiliza filtros de una sola dirección, independientemente de si las relaciones se establecen en una sola dirección o bidireccional. 

    Puede habilitar manualmente el filtro cruzado bidireccional (muy recomendable) con la seguridad a nivel de fila seleccionando la relación y marcando la casilla de verificación Aplicar filtro de seguridad en ambas direcciones . 

    Debería marcar esta casilla cuando implemente seguridad de nivel de fila dinámica, donde aplicará seguridad de nivel de fila según el nombre de usuario o el ID de inicio de sesión.

    Validando el rol dentro de Power BI Desktop 

    Una vez que haya creado su rol, puede probar los resultados del rol dentro de Power BI Desktop. Para ello, seleccione View As Roles

    El cuadro de diálogo le permite cambiar la vista de lo mostrado para ese usuario o rol específico.

    Seleccione el rol que creó y luego seleccione Aceptar para aplicar ese rol a lo que está viendo. Los informes solo filtran aquellos datos relevantes (previamente definidos) para ese rol.

    También puede seleccionar Otro usuario y suministrar un usuario determinado. Es mejor proporcionar el Nombre principal del usuario (UPN), ya que es eso lo que utiliza Power BI Service. Seleccione Aceptar y los informes se mostrarán según lo que se haya configurado para el usuario.


    Dentro de Power BI Desktop, esto solo muestra resultados diferentes si está usando seguridad dinámica basada en sus expresiones DAX.

    Proximamente publicare un nuevo blog sobre la gestion de seguridad en un modelo de datos.

    Espero que les sea de utilidad.



    ------------------------------
    Pablo Moreno
    Data Intelligence Engineer
    Panama
    pmorenogonzalez@gmail.com
    ------------------------------