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 usará 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.

    Screenshot of the Power BI Report Builder filter.

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

    Screenshot shows the value Color selected from the Expression menu.

  3. Haga clic en el botón de la función Valor.

    Power BI Report Builder value

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

    Screenshot shows the Expression window with Built-in Fields selected as Category and ExecutionTime selected as Item.

  5. En la lista Elemento, seleccione UserID y haga clic en Aceptar.

    Power BI Report Builder UserID

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

    Power BI Report Builder semantic model properties

Uso de una consulta

  1. En la ventana Propiedades del modelo semántico, en el panel de navegación izquierdo, seleccione Parámetros y haga clic en Añadir.

    Power BI Report Builder parameters

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

    Power BI Report Builder parameter name

  3. En el panel izquierdo, seleccione Consulta, agregue en la consulta el parámetro UserID como parte de la consulta y haga clic en 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.

    Power BI Report Builder queries edit

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 tenga un parámetro de color, si se introduce verde en el campo username, el token de inserción restringirá los datos incrustados 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 o superior (no visor ni colaborador).

Generación de un token de inserción