Seguridad de nivel de fila (RLS) con Power BIRow-level security (RLS) with Power BI

La seguridad de nivel de fila (RLS) con Power BI puede usarse para restringir el acceso a los datos a determinados usuarios.Row-level security (RLS) with Power BI can be used to restrict data access for given users. Los filtros restringen los datos en el nivel de fila.Filters restrict data at the row level. Puede definir filtros en roles.You can define filters within roles.

Puede configurar RLS para los modelos de datos que se han importado en Power BI con Power BI Desktop.You can configure RLS for data models imported into Power BI with Power BI Desktop. También puede configurar RLS en conjuntos de datos que utilizan DirectQuery, como SQL Server.You can also configure RLS on datasets that are using DirectQuery, such as SQL Server. Anteriormente, solo podía implementar RLS en modelos locales de Analysis Services fuera de Power BI.Previously, you were only able to implement RLS within on-premises Analysis Services models outside of Power BI. Para las conexiones activas de Analysis Services, la seguridad de nivel de fila se configura en el modelo local.For Analysis Services live connections, you configure Row-level security on the on-premises model. La opción de seguridad no se mostrará para conjuntos de datos de conexión dinámica.The security option will not show up for live connection datasets.

Definir roles y reglas en Power BI DesktopDefine roles and rules within Power BI Desktop

Puede definir roles y reglas en Power BI Desktop.You can define roles and rules within Power BI Desktop. Al publicar en Power BI, publicará también las definiciones de roles.When you publish to Power BI, it will also publish the role definitions.

Para definir los roles de seguridad, puede hacer lo siguiente.To define security roles, you can do the following.

  1. Importar datos en el informe de Power BI Desktop o configurar una conexión de DirectQuery.Import data into your Power BI Desktop report, or configure a DirectQuery connection.

    Nota

    No puede definir roles en Power BI Desktop para conexiones dinámicas de Analysis Services.You cannot define roles within Power BI Desktop for Analysis Services live connections. Debe hacerlo en el modelo de Analysis Services.You will need to do that within the Analysis Services model.

  2. Seleccione la pestaña Modelado.Select the Modeling tab.
  3. Seleccione Administrar roles.Select Manage Roles.

  4. Seleccione Crear.Select Create.

  5. Proporcione un nombre para el rol.Provide a name for the role.
  6. Seleccione la tabla a la que quiere aplicar una regla DAX.Select the table that you want to apply a DAX rule.
  7. Escriba las expresiones DAX.Enter the DAX expressions. Esta expresión debe devolver true o false.This expression should return a true or false. Por ejemplo: [Id. de entidad] = "Valor".For example: [Entity ID] = “Value”.

    Nota

    Puede usar username() en esta expresión.You can use username() within this expression. Tenga en cuenta que username() tendrá el formato DOMINIO\Usuario en Power BI Desktop.Be aware that username() will have the format of DOMAIN\username within Power BI Desktop. En el servicio Power BI, estará en el formato del UPN del usuario.Within the Power BI service, it will be in the format of the user's UPN. Como alternativa, puede usar userprincipalname(), que siempre devolverá el usuario en el formato de su nombre principal de usuario.Alternatively, you can use userprincipalname() which will always return the user in the format of their user principal name.

  8. Después de haber creado la expresión DAX, puede seleccionar la casilla encima del cuadro de expresión para validar la expresión.After you have created the DAX expression, you can select the check above the expression box to validate the expression.

  9. Seleccione Guardar.Select Save.

No puede asignar usuarios a un rol en Power BI Desktop.You cannot assign users to a role within Power BI Desktop. Esto se lleva a cabo en el servicio Power BI.This is done within the Power BI service. Para habilitar la seguridad dinámica en Power BI Desktop, puede usar las funciones DAX username() y userprincipalname(). Las relaciones deben estar configuradas correctamente.You can enable dynamic security within Power BI Desktop by making use of the username() or userprincipalname() DAX functions and having the proper relationships configured.

De forma predeterminada, el filtrado de la seguridad de nivel de fila utiliza filtros unidireccionales, independientemente de si las relaciones se establecen de forma unidireccional o bidireccional.By default, row-level security filtering uses single-directional filters, regardless of whether the relationships are set to single direction or bi-directional. Para habilitar manualmente un filtro cruzado bidireccional con seguridad de nivel de fila, seleccione la relación y marque la casilla de verificación Aplicar filtro de seguridad en ambas direcciones.You can manually enable bi-directional cross-filter with row-level security by selecting the relationship and checking the Apply security filter in both directions checkbox. Debe activar esta casilla al implementar la seguridad de nivel de fila dinámica, en la que proporciona seguridad de nivel de fila en función del nombre de usuario o del identificador de inicio de sesión.You should check this box when implementing dynamic row-level security, wherein you provide row-level security based on user name or login ID.

Para más información, consulte los artículos técnicos Filtrado cruzado bidireccional con DirectQuery en Power BI Desktop y Protección del modelo semántico tabular de BI.For more information, see Bidirectional cross-filtering using DirectQuery in Power BI Desktop and the Securing the Tabular BI Semantic Model technical article.

Aplicar filtro de seguridad

Validación del rol en Power BI DesktopValidating the role within Power BI Desktop

Después de haber creado el rol, puede probar el resultado del rol en Power BI Desktop.After you have created your role, you can test the results of the role within Power BI Desktop. Para ello, seleccione Ver como roles.To do this, select View As Roles.

El cuadro de diálogo Ver como roles permite cambiar la vista de lo que ve para ese rol o usuario específico.The View as roles dialog allows you to change the view of what you are seeing for that specific user or role. Verá los roles que ha creado.You will see the roles you have created.

Seleccione el rol que ha creado y, después, seleccione Aceptar para aplicar ese rol a lo que está viendo.You select the role you created and then select OK to apply that role to what you are viewing. Los informes solo representarán los datos relevantes para ese rol.The reports will only render the data relevant for that role.

También puede seleccionar Otro usuario y proporcionar un usuario determinado.You can also select Other user and supply a given user. Es mejor proporcionar el nombre principal de usuario (UPN), ya que es el que usará el servicio Power BI.It is best to supply the User Principal Name (UPN) as that is what the Power BI service will use. Seleccione Aceptar y los informes se representarán según lo que pueda ver ese usuario.Select OK and the reports will render based on what that user can see.

Nota

En Power BI Desktop, este procedimiento solo mostrará resultados diferentes si usa la seguridad dinámica según las expresiones DAX.Within Power BI Desktop, this will only display different results if you are using dynamic security based on your DAX expressions.

Administración de la seguridad en el modeloManage security on your model

Para administrar la seguridad en el modelo de datos, deberá hacer lo siguiente.To manage security on your data model, you will want to do the following.

  1. Seleccione los puntos suspensivos (...) correspondientes a un conjunto de datos.Select the ellipse (…) for a dataset.
  2. Seleccione Seguridad.Select Security.

Esto le llevará a la página RLS para agregar miembros a un rol creado en Power BI Desktop.This will take you to the RLS page for you to add members to a role you created in Power BI Desktop. Solo los propietarios del conjunto de datos verán que la opción Seguridad está disponible.Only the owners of the dataset will see Security available. Si el conjunto de datos está en un grupo, solo los administradores del grupo verán la opción de seguridad.If the dataset is in a Group, only Administrators of the group will see the security option.

Solo puede crear o modificar roles dentro de Power BI Desktop.You can only create or modify roles within Power BI Desktop.

MiembrosWorking with members

Agregar miembrosAdd members

Puede agregar un miembro al rol si escribe la dirección de correo electrónico, o el nombre, del usuario, el grupo de seguridad o la lista de distribución que desea agregar.You can add a member to the role by typing in the email address, or name, of the user, security group or distribution list you want to add. Este miembro tiene que estar dentro de su organización.This member has to be within your organization. No se pueden agregar grupos creados dentro de Power BI.You cannot add Groups created within Power BI.

También puede ver cuántos miembros forman parte del rol por el número entre paréntesis junto al nombre del rol o junto a Miembros.You can also see how many members are part of the role by the number in parenthesis next to the role name, or next to Members.

Quitar miembrosRemove members

Puede quitar miembros seleccionando la X junto a su nombre.You can remove members by selecting the X next to their name.

Validación del rol en el servicio Power BIValidating the role within the Power BI service

Puede validar que el rol definido funciona correctamente probándolo.You can validate that the role you defined is working correctly by testing the role.

  1. Seleccione los puntos suspensivos (...) junto al rol.Select the ellipsis (...) next to the role.
  2. Seleccione Probar datos como rol.Select Test data as role

Verá los informes que están disponibles para este rol.You will then see reports that are available for this role. Los paneles no se presentan en esta vista.Dashboards are not presented in this view. En la barra azul superior, verá lo que se aplica.In the blue bar above, you will see what is being applied.

Puede probar otros roles, o combinación de roles, seleccionando Ahora se muestra como.You can test other roles, or combination of roles, by selecting Now viewing as.

Puede optar por ver los datos como una persona específica o puede seleccionar una combinación de roles disponibles para validar que funcionan.You can choose to view data as a specific person, or you can select a combination of available roles to validate they are working.

Para volver a la vista normal, seleccione Volver a seguridad de nivel de fila.To return to normal viewing, select Back to Row-Level Security.

Uso de la función DAX username() o userprincipalname()Using the username() or userprincipalname() DAX function

Puede aprovechar las ventajas de las funciones DAX username() o userprincipalname() dentro del conjunto de datos.You can take advantage of the DAX functions username() or userprincipalname() within your dataset. Puede usarlas dentro de expresiones en Power BI Desktop.You can use them within expressions in Power BI Desktop. Cuando publique el modelo, se utilizará dentro del servicio Power BI.When you publish your model, it will be used within the Power BI service.

En Power BI Desktop, username() devolverá un usuario con el formato de DOMINIO\Usuario y userprincipalname() lo devolverá con el formato de user@contoso.com .Within Power BI Desktop, username() will return a user in the format of DOMAIN\User and userprincipalname() will return a user in the format of user@contoso.com.

En el servicio Power BI, username() y userprincipalname() devolverán ambos el nombre principal de usuario (UPN) del usuario.Within the Power BI service, username() and userprincipalname() will both return the user's User Principal Name (UPN). Es similar a una dirección de correo electrónico.This looks similar to an email address.

Uso de RLS con áreas de trabajo de la aplicación en Power BIUsing RLS with app workspaces in Power BI

Si publica un informe de Power BI Desktop en un área de trabajo de la aplicación dentro del servicio Power BI, los roles se aplican a los miembros de solo lectura.If you publish your Power BI Desktop report to an app workspace within the Power BI service, the roles will be applied to read-only members. Debe indicar que los miembros solo pueden ver contenido de Power BI dentro de la configuración del área de trabajo de la aplicación.You will need to indicate that members can only view Power BI content within the app workspace settings.

Advertencia

Si ha configurado el área de trabajo de la aplicación para que los miembros tengan permisos de edición, los roles de RLS no se aplicarán a ellos.If you have configured the app workspace so that members have edit permissions, the RLS roles will not be applied to them. Los usuarios podrán ver todos los datos.Users will be able to see all of the data.

LimitacionesLimitations

Esta es una lista de las limitaciones actuales para la seguridad de nivel de fila en los modelos en la nube.Here is a list of the current limitations for row-level security on cloud models.

  • Si anteriormente tenía roles o reglas definidos en el servicio Power BI, tendrá que volver a crearlos en Power BI Desktop.If you previously had roles/rules defined within the Power BI service, you will need to recreate them within Power BI Desktop.
  • Solo puede definir RLS en los conjuntos de datos creados con el cliente de Power BI Desktop.You can define RLS only on the datasets created using Power BI Desktop client. Si desea habilitar RLS para conjuntos de datos creados con Excel, debe convertir primero los archivos en archivos PBIX.If you want to enable RLS for datasets created with Excel, you will need to convert your files into PBIX files first. Más informaciónLearn more
  • Solo ETL, y se admiten conexiones de DirectQuery.Only ETL, and DirectQuery connections are supported. Las conexiones dinámicas con Analysis Services se controlan en el modelo local.Live connections to Analysis Services are handled in the on-premises model.
  • Preguntas y respuestas y Cortana no se admiten con RLS en este momento.Q&A and Cortana is not supported with RLS at this time. No verá el cuadro de entrada de Preguntas y respuestas en los paneles si todos los modelos tienen configurado RLS.You will not see the Q&A input box for dashboards if all models have RLS configured. Está en el mapa de ruta, pero no está disponible una escala de tiempo.This is on the roadmap, but a timeline is not available.
  • Actualmente, el uso compartido externo no es compatible con conjuntos de datos que usen RLS.External sharing is not currently supported with datasets that use RLS.
  • Para un modelo dado, el número máximo de entidades de seguridad de Azure AD (es decir, usuarios individuales o grupos de seguridad) a los que se puede asignar roles de seguridad es 1000.For any given model, the maximum number of Azure AD principals (i.e. individual users or security groups) that can be assigned to security roles is 1,000. Para asignar roles a una gran cantidad de usuarios, asegúrese de realizar la asignación a grupos de seguridad, en lugar de a usuarios individuales.To assign large numbers of users to roles, be sure to assign security groups, rather than individual users.

Problemas conocidosKnown issues

Hay un problema conocido en el que recibirá un mensaje de error al intentar publicar desde Power BI Desktop si ya se ha publicado anteriormente.There is a known issue where you will receive an error message when trying to publish from Power BI Desktop if it was previously published. El escenario es el siguiente.The scenario is as follows.

  1. Ana tiene un conjunto de datos publicado en el servicio Power BI y ha configurado RLS.Anna has a dataset that is publised to the Power BI service and has configured RLS.
  2. Ana actualiza el informe en Power BI Desktop y vuelve a publicarlo.Anna updates the report in Power BI Desktop and re-publishes.
  3. Ana recibirá un error.Anna will receive an error.

Solución alternativa: vuelva a publicar el archivo de Power BI Desktop desde el servicio Power BI hasta que se solucione este problema.Workaround: Re-publish the Power BI Desktop file from the Power BI service until this issue is resolved. Para ello, seleccione Obtener datos > Archivos.You can do that by select Get Data > Files.

PREGUNTAS MÁS FRECUENTESFAQ

Pregunta: ¿Qué ocurre si tengo roles o reglas creados previamente para un conjunto de datos en el servicio Power BI?Question: What if I had previously created roles/rules for a dataset in the Power BI service? ¿Seguirán funcionando si no hago nada?Will they still work if I do nothing?
Respuesta: No.Answer: No. Los objetos visuales no se representarán correctamente.Visuals will not render properly. Tendrá que volver a crear los roles o reglas en Power BI Desktop y, después, publicarlos en el servicio Power BI.You will have to re-create the roles/rules within Power BI Desktop and then published to the Power BI service.

Pregunta: ¿Puedo crear estos roles para orígenes de datos de Analysis Services?Question: Can I creates these roles for Analysis Services data sources?
Respuesta: Puede si importa los datos en Power BI Desktop.Answer: You can if you imported the data into Power BI Desktop. Si usa una conexión dinámica, no podrá configurar RLS en el servicio Power BI.If you are using a live connection, you will not be able to configure RLS within the Power BI service. Esto se define en el modelo local de Analysis Services.This is defined within the Analysis Services model on-premises.

Pregunta: ¿Puedo usar RLS para limitar las columnas o medidas accesibles por mis usuarios?Question: Can I use RLS to limit the columns or measures accessible by my users?
Respuesta: No.Answer: No. Si un usuario tiene acceso a una fila de datos determinada, ese usuario puede ver todas las columnas de datos de esa fila.If a user has access to a particular row of data, they can see all the columns of data for that row.

Pregunta: ¿Me permite RLS ocultar datos detallados pero dar acceso a datos resumidos en objetos visuales?Question: Does RLS allow me to hide detailed data but give access to data summarized in visuals?
Respuesta: No, aunque proteja las filas de datos individuales, los usuarios siempre pueden ver los detalles o los datos resumidos.Answer: No, you secure individual rows of data but users can always see either the details or summarized data.

Pasos siguientesNext steps

Seguridad de nivel de fila (RLS) con Power BI DesktopRow-level security (RLS) with Power BI Desktop

¿Tiene más preguntas?More questions? Pruebe a preguntar a la comunidad de Power BITry asking the Power BI Community