Implementación de la seguridad de nivel de fila en los informes paginados insertados

SE APLICA A: La aplicación es la propietaria de los datos El usuario es el propietario de los datos

En este artículo se explica cómo insertar un informe paginado que usa RLS (seguridad de nivel de fila) en la aplicación propietaria de la aplicación de datos.

Nota

Este artículo solo es relevante para los clientes de datos de la aplicación.

Para usar RLS para los informes paginados:

  1. Configuración del entorno para filtrar el informe
  2. Filtrar los datos en el nivel de informe o consulta
  3. Pasar el parámetro configurado utilizando un token de inserción

Prerrequisitos

  • En este artículo se supone que sabe cómo insertar un informe paginado de Power BI. Explica cómo generar el token de inserción para que el informe solo muestre lo que el usuario tiene permiso de acceso.

  • Los informes paginados se crean mediante el motor de SQL Server Reporting Services y no el motor de Power BI (Analysis Services), por lo que el filtrado de RLS se configura en Power BI Report Builder.

Configuración del entorno

Para aplicar la seguridad de nivel de fila a un informe paginado de Power BI, use el campo integrado UserID para asignar un parámetro. Este parámetro se usa para filtrar o consultar los datos.

A continuación, pase el UserID a la API Token de inserción - Generación de token para obtener el token de inserción.

Uso de UserID como filtro en el nivel de informe o consulta

Puede utilizar UserId como filtro o en una consulta al origen de datos.

Filtrar los datos

  1. En la ventana Propiedades del modelo semántico, en el panel izquierdo, seleccione Filtro.

    Captura de pantalla del filtro de Power BI Report Builder.

  2. En el menú desplegable Expresión, seleccione el parámetro que desea usar para filtrar los datos.

    Captura de pantalla que muestra el valor Color seleccionado en el menú Expresión.

  3. Seleccione el botón de la función Valor.

    Valor en el Generador de informes de Power BI

  4. En la ventana Expresión, en la lista Categoría, seleccione Campos integrados.

    Captura de pantalla que muestra la ventana Expresión con campos integrados seleccionados como categoría y ExecutionTime seleccionados como elemento.

  5. En la lista Elemento, seleccione UserID y después Aceptar.

    UserID en el Generador de informes de Power BI

  6. En la ventana Propiedades del modelo semántico, compruebe que la expresión sea el parámetro seleccionado = UserID y seleccione Aceptar.

    Propiedades del modelo semántico de Power BI Report Builder

Uso de una consulta

  1. En la ventana Propiedades del modelo semántico, en el panel de navegación izquierdo, seleccione Parámetros y después Agregar.

    Parámetros del Generador de informes de Power BI

  2. En el campo Nombre del parámetro, escriba @UserID, y en el Valor del parámetro añada [&UserID].

    Nombre del parámetro en el Generador de informes de Power BI

  3. En el panel izquierdo, seleccione Consulta, en la Consulta agregue el parámetro UserID como parte de la consulta y seleccione Aceptar.

    Nota:

    En la siguiente captura de pantalla, el parámetro de color se usa como ejemplo (WHERE FinalTable.Color = @UserID)). Si es necesario, puede crear una consulta más compleja.

    Edición de consultas en el Generador de informes de Power BI

Generación de un token de inserción

Cuando inserte un informe paginado para sus clientes, utilice la API Reports GenerateTokenInGroup para obtener el token de inserción. Este token también puede utilizarse para filtrar algunos datos del informe paginado.

Solo puede generar un token mediante una entidad de servicio. No se puede generar un token como usuario maestro. La entidad de servicio debe tener al menos permisos de miembro en el área de trabajo del servicio Power BI. (Si la entidad de servicio es colaborador o visor, no podrá generar un token).

Para generar un token, asigne el username campo con la información que desea mostrar. Por ejemplo, en un informe paginado que tiene un parámetro de color, si se introduce verde en el campo username, el token de inserción restringe los datos insertados a solo los datos que tengan verde como valor en la columna de color.

{
 "reports": [
 {
  "id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
 }
 ],
 "identities": [
 {
  "username": "green",
  "reports": [
  "8d57615e-cfed-4d60-bd21-7dc05727193c"
  ]
 }
 ]
}

Nota:

Si genera un token de inserción sin especificar un identificador de usuario, se usará el identificador de objeto de la entidad de servicio.

Consideraciones y limitaciones

  • El usuario maestro no se admite con los informes paginados para la inserción de los clientes. El usuario maestro se admite para la inserción para su organización.
  • La entidad de servicio debe tener permisos de área de trabajo de miembro al menos o (no visor ni colaborador).

Generación de un token de inserción