Seguridad a nivel de fila en la base de datos
Si su organización ya ha instaurado seguridad a nivel de línea (RLS) en una base de datos, puede utilizar una de las siguientes técnicas para aprovecharla. Para aprovechar los modelos de seguridad de la base de datos, se requieren conexiones en tiempo real. Además, es probable que estas técnicas no estén disponibles en Tableau Cloud. El nombre de usuario de Tableau para Tableau Cloud es una dirección de correo electrónico única que no suele ser la identidad del usuario en el lado de la base de datos.
No es necesariamente más fácil ni mejor implementar un modelo de RLS incorporado que crearlo según las características de Tableau. Estas técnicas generalmente son útiles cuando una organización ya ha invertido en estas tecnologías y quiere rentabilizar esa inversión.
Nota: Para obtener información sobre las alternativas que puede utilizar para implementar la seguridad de nivel de fila en Tableau, consulte una Descripción general de las opciones de seguridad a nivel de fila en Tableau.
Suplantación (Microsoft SQL Server)
Microsoft SQL Server (y algunos sistemas relacionados) pueden configurarse para que los usuarios de la base de datos solo tengan acceso a vistas con filtros de RLS integrados, ya sea utilizando tablas de unión de seguridad o vistas creadas por el DBA. Tableau puede aprovecharse de esto usando un concepto llamado "suplantación".
Cuando se publica una fuente de datos de Tableau que contiene una conexión de MS SQL Server a Tableau Server, hay dos opciones de autenticación disponibles para aprovechar la suplantación. El menú que vea dependerá de si ha iniciado sesión en SQL Server utilizando una autenticación de red o introduciendo credenciales de nombre de usuario/contraseña.
Para habilitar el filtrado RLS para cualquier usuario que pueda acceder a la fuente de datos publicada en Tableau Server, la cuenta de ejecución de AD o las credenciales de SQL Server incrustadas deben tener permiso para EJECUTAR COMO para todos los usuarios de Tableau en la base de datos que accederán al dashboard o a la fuente de datos. Todos los usuarios de Tableau deben incluirse en el servidor de la base de datos como usuarios, con derechos SELECT para las Vistas a las que intenta conectarse (y a las que se aplica RLS). Consulte Requisitos de suplantación para obtener una lista completa de requisitos.
Kerberos y delegación limitada
La delegación limitada dentro del Tableau Server que utiliza Kerberos funciona de forma similar a la suplantación, ya que permite a Tableau Server utilizar las credenciales de Kerberos de la vista de un libro de trabajo o la vista para ejecutar una consulta en nombre del observador, de modo que si la RLS está configurada en la base de datos, el observador del libro de trabajo solo verá sus datos.
Para ver la lista completa de bases de datos en las que se admite la delegación de Kerberos, consulte Habilitar la delegación de Kerberos. Se necesita Active Directory: el equipo en el que está instalado Tableau Server debe unirse al dominio de Active Directory. El método de autenticación(El enlace se abre en una ventana nueva) especificado al publicar la fuente de datos debe ser las credenciales del observador.
Tenga en cuenta que Kerberos se puede usar con RLS al utilizar Microsoft Analysis Services.
Cubos OLAP
Las conexiones de cubos OLAP en Tableau no tienen el equivalente a un filtro de fuente de datos, que es necesario para el método RLS basado en tablas de derechos en Tableau, o el acceso a la función USERNAME(). Por estas razones, Kerberos y la delegación restringida es un enfoque recomendado para usar RLS con bases de datos OLAP, lo que permite a Tableau aprovechar el filtrado de usuarios que ya se ha implementado en el lado del servidor OLAP.
Si los usuarios que ven el dashboard no formarán parte del dominio, se puede usar el enfoque manual para crear filtros de usuario. Sin embargo, debido a que el conjunto de filtros de usuario generado no puede añadirse como filtro de origen de datos y, en su lugar, existirá en la estantería de filtros, es importante que la función de edición web y descarga de libros de trabajo no esté permitida para las vistas publicadas que utilicen este método.
Delegación SAML y SAP HANA
Si Tableau Server está configurado para utilizar Configurar SSO de SAP HANA para proporcionar una experiencia de inicio de sesión única, las credenciales del observador se utilizan para ejecutar la consulta como ese usuario, que operará dentro de la seguridad que se aplique a nivel de usuario. El método de autenticación(El enlace se abre en una ventana nueva) especificado al publicar la fuente de datos debe ser el de las credenciales del observador.
SQL inicial para forzar una sesión específica de usuario (Oracle VPD)
SQL inicial le permite especificar un comando SQL que se ejecuta cuando se realiza la conexión a la base de datos con el fin de configurar tablas temporales para utilizar durante la sesión o para configurar un entorno de datos personalizado.
En el caso de Oracle VPD, puede configurar una sesión específica para un usuario ejecutando un procedimiento o función almacenada en particular para establecer el contexto de la conexión de la base de datos para que coincida con el nombre de usuario del usuario de Tableau:
begin DBMS_SESSION.SET_IDENTIFIER([TableauServerUser]); end;
Los mismos requisitos de alto nivel son válidos para el uso de RLS que para la suplantación. El DBA debe configurar VPD y todos los usuarios asociados para que se incluyan en la base de datos.
En MS SQL Server, puede forzar EXECUTE como comando (sin embargo, esto es similar a lo que hace Tableau con la suplantación):
EXECUTE AS USER = [TableauServerUser] WITH NO REVERT;
Nota: Si la fuente de datos está insertada y un usuario tiene permisos para editar en la web o descargar el libro de trabajo, entonces la RLS no existe ya que la aplicación inicial de SQL puede eliminarse fácilmente. La fuente de datos debe publicarse por separado, en lugar de insertada en el libro de trabajo.
Matriz de comparación de los métodos de seguridad a nivel de fila (RLS)
Método | Útil cuando | Pros | Contras |
Tabla de derechos (Recomendado) |
|
|
|
CONTAINS() con extracciones |
|
|
|
Suplantación |
|
|
|
Kerberos |
|
|
|
SQL inicial |
|
|
|