Administrar extensiones de dashboard en Tableau Server

Las extensiones de dashboard son aplicaciones web que se ejecutan en zonas de dashboard personalizadas y pueden interactuar con el resto del dashboard mediante la API de extensiones de Tableau(El enlace se abre en una ventana nueva). Las extensiones de dashboard permiten a los usuarios interactuar con datos de otras aplicaciones directamente en Tableau.

Nota: Debe ser administrador de servidor para habilitar extensiones de dashboard en él, o bien si desea impedir que se ejecuten determinadas extensiones. Debe ser administrador de servidor para añadir extensiones a la lista segura y controlar el tipo de datos a los que pueden acceder dichas extensiones. El administrador de servidor también puede configurar si los usuarios del sitio verán mensajes cuando añadan o vean extensiones en el dashboard. Para obtener información sobre la seguridad de extensiones al utilizar extensiones de dashboard, consulte Extensión de seguridad: práctica recomendada para la implementación(El enlace se abre en una ventana nueva)

Para obtener información sobre cómo usar extensiones de dashboard en Tableau, consulte Usar extensiones del dashboard(El enlace se abre en una ventana nueva).

Antes de ejecutar extensiones en Tableau Server

Tableau admite dos tipos de extensiones de dashboard: Extensiones habilitadas por red, que pueden alojarse en servidores web ubicados dentro o fuera de su red local y tener acceso total a la web, y extensiones con Sandbox, que se ejecutan en un entorno protegido sin acceso a ningún otro recurso o servicio en la web.

Nota: A partir de la versión 2021.1.0, Tableau admite la integración con Einstein Discovery a través de la extensión Einstein Discovery Dashboard. Esta es una extensión especial que tiene acceso a los datos en Salesforce.com y está permitida de forma predeterminada. No se considera una extensión habilitada para la red ni una extensión de espacio aislado. Para obtener más información sobre la integración con Einstein Discovery, consulte las Notas de la versión de Tableau Server(El enlace se abre en una ventana nueva).

Las extensiones con Sandbox están alojadas por Tableau y emplean estándares W3C, como la Directiva de seguridad de contenido (CSP), para asegurar que la extensión no pueda hacer llamadas de red fuera del servidor de alojamiento de Tableau. Una extensión con Sandbox puede consultar datos en el dashboard, pero no puede enviar esos datos a ningún lugar fuera de Sandbox. Las extensiones con Sandbox son compatibles con Tableau 2019.4 y versiones posteriores. De forma predeterminada, las extensiones del entorno de pruebas pueden ejecutarse si las extensiones están habilitadas para el sitio.

Las extensiones de dashboard habilitadas por red son aplicaciones web y podrían ejecutarse en cualquier equipo configurado como un servidor web. Es decir, equipos locales, equipos de su dominio y sitios web de terceros, entre otros. Como las extensiones habilitadas por red podrían estar hospedadas en sitios de terceros y tener la capacidad de acceder a datos del dashboard, se recomienda permitir únicamente aquellas extensiones en las que confíe. Consulte Pruebe las extensiones habilitadas por red por razones de seguridad.

En aras de la seguridad, puede usar la configuración de las extensiones de dashboard de Tableau Server para controlar y limitar las extensiones de dashboard que se pueden ejecutar.

  • De forma predeterminada, las extensiones del entorno de pruebas pueden ejecutarse si las extensiones están habilitadas para el sitio.

  • De forma predeterminada, no se permiten extensiones habilitadas por red a menos que se hayan agregado explícitamente a la lista segura.

  • De forma predeterminada, solo se permiten las extensiones que usen el protocolo HTTPS, lo que garantiza un canal cifrado para enviar y recibir datos (la única excepción es http://localhost).

  • Si la extensión habilitada por red requiere datos completos (acceso a los datos subyacentes), esta no podrá ejecutarse en Tableau Server, a menos que la añada explícitamente a la lista segura y le conceda acceso a los datos completos.

Controlar las extensiones de dashboard y el acceso a los datos

Los administradores de servidor pueden controlar una configuración global para permitir extensiones en todos los sitios del servidor. Los administradores de servidor también pueden incluir extensiones, incluidas extensiones con Sandbox, en una lista de bloqueo global para evitar que se ejecuten. (Consulte Bloquear extensiones específicas). De forma predeterminada, todas las extensiones con Sandbox están habilitadas en el servidor, pero los administradores del sitio pueden anular las extensiones predeterminadas y prohibir las extensiones con Sandbox en el sitio.

Cambiar la configuración global que habilita las extensiones en el servidor

  1. Para cambiar esta configuración en el servidor, vaya a Administrar todos los sitios > Configuración > Extensiones. Si el servidor solo tiene un sitio, los controles globales se muestran en la página de configuración del sitio.

  2. En Extensiones de dashboard, active o desactive la casilla de verificación Permitir a los usuarios ejecutar extensiones en este servidor. Si no se selecciona esta opción, no se permite la ejecución de extensiones. Esta configuración global anula la opción Permitir a los usuarios ejecutar extensiones en esta configuración de sitio para cada sitio.

Cambiar la configuración predeterminada de un sitio

Los administradores de servidor pueden controlar si habilitar extensiones para el sitio y si permitir extensiones con Sandbox en el sitio. Es decir, si las extensiones están habilitadas en el servidor, la configuración predeterminada del sitio permite que las extensiones con Sandbox se ejecuten en el sitio, siempre que la extensión no esté específicamente bloqueada en el servidor. La configuración predeterminada del sitio permite que se ejecuten las extensiones habilitadas por red que aparecen en la lista segura del sitio. Las extensiones con Sandbox individuales también pueden añadirse a la lista segura, si las extensiones con Sandbox no están permitidas de forma predeterminada.

  1. Si desea cambiar esta configuración para el sitio, vaya a Configuración > Extensiones.

  2. En Extensiones de dashboard, configure estas opciones:

    • Permitir a los usuarios ejecutar extensiones en este sitio
    • Dejar que se ejecuten las extensiones con Sandbox a menos que estén bloqueadas por un administrador del servidor

Los administradores del servidor pueden añadir o eliminar extensiones habilitadas por red y con Sandbox de la lista segura del sitio. Al añadir una extensión a la lista segura, podrá controlar si permitir que la extensión disfrute de acceso a los datos completos. Consulte Añadir extensiones a la lista segura y configurar los mensajes para los usuarios.

Identificar una extensión

Al tratarse de aplicaciones web, las extensiones están asociadas con una URL. Esta URL se utiliza para probar y verificar la extensión. También se usa la URL para añadir la extensión a la lista segura a fin de permitir el acceso a todos los datos o a la lista de bloqueo para prohibir cualquier tipo de acceso.

Si tiene el archivo de manifiesto de extensión (.trex), un archivo XML que define las propiedades de la extensión, podrá encontrar la URL en el elemento <source-location>.


<source-location>
    <url>https://www.example.com/myExtension.html</url>
</source-location>

				

Si ha añadido una extensión al dashboard, podrá encontrar la URL en las propiedades de la extensión. En el menú Más opciones, haga clic en Acerca de.

En el cuadro de diálogo Acerca de se muestra el nombre de la extensión, su autor, el sitio web del autor y la URL de la extensión.

Añadir extensiones a la lista segura y configurar los mensajes para los usuarios

Para garantizar que los usuarios pueden usar extensiones habilitadas por red de confianza, puede añadirlas a la lista segura del sitio. También puede añadir extensiones con Sandbox a la lista segura, si las extensiones con Sandbox no están habilitadas de forma predeterminada en el sitio.

En la lista segura, puede controlar si conceder a la extensión acceso a los datos completos. De forma predeterminada, cuando se añade una extensión a la lista segura, la extensión solo tiene acceso a los datos resumidos (o agregados). También puede controlar si los usuarios verán un mensaje en el que se les pide que permitan a la extensión acceder a los datos. Puede que desee añadir una extensión a la lista segura (por ejemplo, una extensión con Sandbox) simplemente para configurar si los usuarios ven un mensaje o no. Al ocultar los mensajes a los usuarios, la extensión se puede ejecutar de forma inmediata.

  1. Vaya a Configuración > Extensiones.

  2. En Habilitar extensiones específicas, añada la URL de la extensión. Consulte Identificar una extensión.

  3. Elija Permitir o Denegar el Acceso a los datos completos de la extensión.

    Con el acceso a los datos completos, la extensión puede acceder a los datos subyacentes de la vista, no solo a los resumidos o agregados. El acceso a los datos completos también incluye información sobre las fuentes de datos, como los nombres de la conexión, los campos y las tablas. En la mayoría de los casos, al añadir una extensión a la lista segura para que pueda ejecutarse, también le recomendamos que permita a la extensión tener acceso a datos completos (si la extensión lo necesita). Antes de añadir extensiones a la lista segura, Pruebe las extensiones habilitadas por red por razones de seguridad.

  4. Elija Mostrar u Ocultar los Mensajes para usuarios.

    De forma predeterminada, los usuarios verán mensajes al añadir una extensión al dashboard o al interactuar con una vista que tenga una extensión. El mensaje indica a los usuarios detalles sobre la extensión y si esta tiene acceso datos completos. El mensaje permite a los usuarios permitir o denegar la ejecución de la extensión. Puede ocultar este mensaje a los usuarios para permitir que la extensión se ejecute de inmediato.

Bloquear extensiones específicas

La directiva global predeterminada permite todas las extensiones del entorno de pruebas y aquellas extensiones habilitadas por red que aparecen en la lista segura de un sitio. Los administradores de servidor pueden impedir la ejecución de extensiones determinadas añadiéndolas a la lista de bloqueo del servidor. Si se incluye una extensión en la lista de bloqueo, el bloqueo prevalece ante cualquier configuración efectuada para la extensión en la lista segura de un sitio.

  1. Para añadir una extensión a la lista de bloqueo del servidor, vaya a Administrar todos los sitios > Configuración > Extensiones. En el caso de instalaciones de un solo sitio, la lista de bloqueo se encuentra en la página de configuración Extensiones.

  2. En Bloquear extensiones específicas, añada la URL de la extensión. Consulte Identificar una extensión.

Pruebe las extensiones habilitadas por red por razones de seguridad

Las extensiones de dashboard son aplicaciones web que interactúan con datos en Tableau mediante la API de extensiones. Las extensiones del dashboard habilitadas para la red se pueden alojar en servidores web dentro o fuera de su dominio, y pueden realizar llamadas de red y tener acceso a recursos en Internet. Debido a esto y a las posibles vulnerabilidades, como la ejecución de comandos en sitios cruzados, debe probar y verificar extensiones de dashboard habilitadas por red antes de que los usuarios las utilicen en dashboards en Tableau Desktop, así como antes de permitir extensiones en Tableau Server.

Examinar los archivos fuente

Las extensiones de dashboard son aplicaciones web e incluyen varios archivos de HTML, CSS y JavaScript, así como un archivo de manifiesto XML (*.trex) que define las propiedades de la extensión. En muchos casos, el código de la extensión de dashboard está disponible al público en GitHub y se puede examinar o descargarse allí. En el archivo de manifiesto (*.trex), puede encontrar la ubicación de origen, o la URL que indica dónde se hospeda la extensión, el nombre del autor, y el sitio web del autor o la empresa con la que ponerse en contacto para recibir asistencia. El elemento <source-location> especifica la URL, mientras que el elemento <author> indica el nombre de la organización y el sitio web con el que ponerse en contacto para recibir asistencia (website="SUPPORT_URL"). El sitio web es el enlace Obtener asistencia que los usuarios ven en el cuadro de diálogo Acerca de de la extensión.

Muchas extensiones de dashboard hacen referencia a bibliotecas JavaScript externas, como la biblioteca jQuery o bibliotecas API de terceros. Verifique que la URL de las bibliotecas externas se dirige hacia una ubicación de confianza para la biblioteca. Por ejemplo, si el conector hace referencia a la biblioteca jQuery, compruebe que la biblioteca esté en un sitio que se considere estándar y seguro.

Todas las extensiones deben usar el protocolo HTTPS (https://) para hospedar sus extensiones. Debe examinar los archivos fuente de la extensión con el objetivo de garantizar que cualquier referencia a bibliotecas externas también use HTTPS, o bien que estas estén hospedadas en el mismo sitio web que la extensión. La única excepción al requisito de HTTPS se produce si la extensión está hospedada en el mismo equipo que Tableau (http://localhost).

En la medida de lo posible, asegúrese de saber qué hace el código. En particular, intente comprender cómo el código genera peticiones a sitios externos y qué información se envía en la petición. En concreto, compruebe si se valida algún dato facilitado por el usuario para evitar la ejecución de comandos en sitios cruzados.

Comprender el acceso a los datos

La API de extensiones de Tableau proporciona métodos que pueden acceder a los nombres de las tablas y los campos activos en la fuente de datos, las descripciones de resumen de las conexiones de la fuente de datos y los datos subyacentes del dashboard. Si una extensión usa alguno de estos métodos en una vista, el desarrollador de la extensión debe declarar que esta requiere permisos de datos completos en el archivo de manifiesto (.trex). La declaración será similar a la siguiente:


<permissions>
   <permission>full data</permission>
</permissions>

Tableau usa esta declaración para mostrar un mensaje a los usuarios en el momento de la ejecución en el que se les da la opción de permitir este acceso o denegarlo. Si la extensión usa alguno de estos cuatro métodos, sin declarar el permiso de datos completos en el archivo de manifiesto, dicha extensión se cargará, pero las llamadas a los métodos no se producirán.

Para obtener más información sobre cómo las extensiones acceden a datos del dashboard, y sobre los métodos de JavaScript empleados, consulte Accessing Underlying Data(El enlace se abre en una ventana nueva) (Acceder a datos subyacentes) en la API de extensiones de Tableau. Para comprender mejor qué puede descubrir la extensión sobre los datos, puede usar la extensión de dashboard de muestra DataSources(El enlace se abre en una ventana nueva) (disponible en el repositorio de GitHub de la API de extensiones de Tableau(El enlace se abre en una ventana nueva)) a fin de ver qué datos se exponen cuando se llama al método getDataSourcesAsync().

Probar la extensión en un entorno aislado

Si es posible, pruebe la extensión de dashboard en un entorno aislado de su entorno de producción y de los equipos de los usuarios. Por ejemplo, añada una extensión de dashboard a una lista segura en un equipo o una máquina virtual de prueba donde se ejecute una versión de Tableau Server que no se use para producción.

Supervisar el tráfico creado por la extensión de dashboard

Cuando pruebe una extensión de dashboard habilitada por red, utilice una herramienta como Fiddler(El enlace se abre en una ventana nueva), Charles HTTP proxy(El enlace se abre en una ventana nueva) o Wireshark(El enlace se abre en una ventana nueva) para examinar las solicitudes y respuestas que crea la extensión. Asegúrese de comprender qué contenido solicita la extensión. Examine el tráfico para tener la seguridad de que la extensión no lee datos o código que no estén directamente relacionados con la finalidad de esta.

¡Gracias por sus comentarios!Sus comentarios se han enviado correctamente. ¡Gracias!