Como administrador de Tableau Server, puede registrar un servidor de autorización externo (EAS) para establecer una relación de confianza entre Tableau Server y el EAS. Al establecer una relación de confianza, puede brindarles a sus usuarios una experiencia de inicio de sesión único (SSO) para el contenido de Tableau insertado en sus aplicaciones personalizadas a través del proveedor de identidades (IdP) que ya ha configurado para Tableau Server. Cuando se carga contenido de Tableau insertado en su aplicación personalizada, se utiliza un flujo de OAuth estándar. Cuando los usuarios inicien sesión correctamente en el IdP, iniciarán sesión automáticamente en Tableau Server.

Siga los pasos que se describen a continuación para registrar su EAS con Tableau Server.

Importante: Algunos de los procedimientos de este tema requieren configuración con software y servicios de terceros. Hemos hecho todo lo posible por verificar los procedimientos para habilitar la funcionalidad EAS en Tableau Server. Sin embargo, el software y los servicios de terceros pueden cambiar o su organización puede ser diferente. Si tiene problemas, consulte la documentación de terceros para obtener detalles de configuración autorizados y asistencia.

Paso 1: Antes de comenzar

Para registrar un EAS con Tableau Server, debe tener un EAS ya configurado. Además, el EAS debe enviar un JSON Web Token (JWT) válido que contenga los reclamos registrados y el encabezado que se enumeran en la siguiente tabla.

Notificación Descripción o valor requerido
"iss" (emisor) URI de emisor único que identifica el EAS de confianza y su clave de firma.
"alg" (algoritmo) Algoritmo de firma JWT. Los nombres de algoritmos admitidos aparecen enumerados en la página Class JWSAlgorithm(El enlace se abre en una ventana nueva), en la documentación de javadoc.io. El algoritmo de firma se puede configurar mediante el comando vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms.
"sub" (sujeto) Nombre de usuario de Tableau Server del usuario autenticado.
"aud" (audiencia) El valor debe ser: "tableau"
"exp" (tiempo de caducidad) Un JWT válido no debe haber caducado. El tiempo de caducidad del JWT debe estar dentro del período de validez máximo configurado. El período de validez máximo se puede configurar mediante el comando vizportal.oauth.external_authorization_server.max_expiration_period_in_minutes.
"jti" (ID de JWT) La notificación de ID de JWT proporciona un identificador único para el JWT y distingue entre mayúsculas y minúsculas.
"scp" (ámbito)

Los valores compatibles incluyen:

"tableau:views:embed"
"tableau:metrics:embed"

Notas:

  • Los valores deben pasarse como un tipo de lista.
  • Para tableau:views:embed, el ámbito respeta los permisos de los usuarios ya configurados en Tableau Server y permite a los usuarios interactuar con las herramientas en la vista insertada si están disponibles en la vista original.
  • Recomendamos que el código de inserción excluya el parámetro de la barra de herramientas. Para obtener más información, consulte Problemas conocidos más adelante.

Nota: Las notificaciones de JWT anteriores están documentadas en la sección Nombres de notificaciones registradas(El enlace se abre en una ventana nueva), en la documentación distribuida por la organización Internet Engineering Task Force (IETF).

Paso 2: Registrar EAS con Tableau Server

Al registrar su EAS con Tableau Server, establece una relación de confianza entre el EAS y Tableau Server. Esto significa que cuando los usuarios acceden al contenido de Tableau insertado en su aplicación personalizada, se les redirige para autenticarse con el IdP. El EAS genera el token de autenticación, que se pasa a Tableau Server para su verificación. Una vez que se verifica la relación de confianza, se otorga a los usuarios acceso al contenido insertado.

Después de registrar el EAS, la relación de confianza establecida se aplica a todos los sitios de Tableau Server.

Nota: Algunos EAS admiten la opción de mostrar un cuadro de diálogo de consentimiento que solicita la aprobación de los usuarios para que la aplicación acceda al contenido de Tableau. Para garantizar la mejor experiencia para sus usuarios, le recomendamos que configure su EAS para que dé su consentimiento automáticamente a la solicitud de la aplicación personalizada en nombre de los usuarios.

  1. Como administrador de Tableau Server, inicie sesión en la interfaz de usuario web de Tableau Services Manager (TSM). Para obtener más información, consulte Iniciar sesión en la interfaz de usuario web de Tableau Services Manager.

  2. Vaya a Identidad y acceso de usuario > Servidor de autorización y haga lo siguiente:
    1. Seleccione la casilla de verificación Habilitar acceso OAuth para contenido insertado.

    2. En el cuadro de texto URL del emisor, pegue la URL del emisor del EAS.

    3. Haga clic en el botón Guardar cambios pendientes.

  3. Cuando termine, haga lo siguiente:
    1. En la esquina superior derecha de la página, haga clic en el botón Cambios pendientes.

    2. En la esquina inferior derecha de la página, haga clic en el botón Aplicar cambios y reiniciar para detener y reiniciar Tableau Server.

  1. Abra un símbolo del sistema como administrador en el nodo inicial (nodo en el que esté instalado TSM).
  2. Ejecute los comandos siguientes:

    tsm configuration set -k vizportal.oauth.external_authorization.enabled -v true
    tsm configuration set -k vizportal.oauth.external_authorization_server.issuer -v "<issuer_url_of_EAS>"
    tsm restart

Paso 3: Inserción de los siguientes pasos

Después de configurar Tableau Server para usar su EAS, debe añadir el código de inserción a su aplicación personalizada. Asegúrese de incluir el JWT válido generado por su EAS, como se describe en el paso 1, en el componente web al que llama su aplicación personalizada.

Para obtener más información sobre cómo incorporar contenido de Tableau, consulte una o ambas de las siguientes opciones:

Nota: Para que los usuarios se autentiquen correctamente cuando accedan a contenido incrustado, los navegadores deben estar configurados para permitir cookies de terceros, o usar almacenamiento particionado. El almacenamiento particionado está activado de forma predeterminada para Mozilla Firefox y se puede habilitar en los navegadores Google Chrome.

Problemas conocidos

Hay un par de problemas conocidos al usar aplicaciones conectadas que se tratarán en una versión futura.

  • Funciones de la barra de herramientas: cuando el contenido incrustado tenga definido el parámetro de la barra de herramientas, no todas las funciones de la barra de herramientas funcionarán. Para solucionar este problema, le recomendamos que oculte el parámetro de la barra de herramientas como en el siguiente ejemplo.

    <tableau-viz id='tab-viz' src='https://<your_server>/t/<your_site>/...'
    	toolbar='hidden'>
    </tableau-viz>

  • Fuentes de datos publicadas: las fuentes de datos publicadas que se hayan configurado para Preguntar al usuario las credenciales de la base de datos no se mostrarán. Para solucionar este problema, si es posible, recomendamos a los propietarios de fuentes de datos que incorporen sus credenciales de base de datos.

Solución de problemas

Cuando el contenido insertado no se muestra en su aplicación personalizada, puede usar las herramientas del desarrollador de un navegador para inspeccionar e identificar los códigos de error que podrían estar asociados con la función EAS habilitada en Tableau Server.

Consulte la tabla a continuación para revisar la descripción del código de error y la posible resolución.

Código de error Resumen Descripción Posible resolución o explicación
5 SYSTEM_USER_NOT_FOUND No se ha podido encontrar al usuario de Tableau Para resolver este problema, verifique que el valor de la notificación 'sub' (sujeto) en JWT sea "nombre de usuario" para Tableau Server. Este valor diferencia entre mayúsculas y minúsculas.
16 LOGIN_FAILED Error al iniciar sesión Este error suele deberse a uno de los siguientes problemas de notificaciones en JWT:
10081 COULD_NOT_RETRIEVE_IDP_METADATA Falta el extremo de los metadatos de EAS Para resolver este problema, verifique que EAS se haya configurado correctamente y que se llame al emisor correcto.
10082 AUTHORIZATION_SERVER_ISSUER_NOT_SPECIFIED Falta el emisor Para resolver este problema, verifique que se llame al emisor correcto. Para cambiar la URL del emisor, puede utilizar el comando vizportal.oauth.external_authorization_server.issuer.
10083 BAD_JWT El encabezado JWT contiene problemas Este error suele deberse a uno de los siguientes problemas con el encabezado JWT:
  • Faltan las notificaciones de 'clave secreta' (Kid) o 'clientId' (emisor) en el encabezado JWT. Para resolver este problema, asegúrese de incluir esta información.
  • JWT no está firmado o está cifrado. Tableau no admite JWT sin firmar o cifrados.
10084 JWT_PARSE_ERROR JWT contiene problemas

Para resolver este problema, verifique lo siguiente:

  • El valor de 'aud' (audiencia) al que se hace referencia en JWT use el valor de "tableau". Este valor diferencia entre mayúsculas y minúsculas.
  • El 'aud' (audiencia), 'sub' (sujeto), 'jti' (ID de JWT) están incluidos en el JWT.
10085 COULD_NOT_FETCH_JWT_KEYS JWT no ha podido encontrar las claves

No se ha podido encontrar el secreto.

Para resolver este problema, verifique que se llame al emisor correcto. Para cambiar la URL del emisor, puede utilizar el comando vizportal.oauth.external_authorization_server.issuer.

10087 BLOCKLISTED_JWS_ALGORITHM_USED_TO_SIGN Problema con el algoritmo de firma JWT

Para resolver el problema, puede eliminar el algoritmo de firma. Para obtener más información, consulte vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms.

10088 RSA_KEY_SIZE_INVALID Problema con los requisitos de firma JWT Para resolver este problema, verifique con EAS o IdP que el JWT se firme con un tamaño de clave RSA de 2048.
10091 JTI_ALREADY_USED Se requiere JWT único

JWT ya se ha utilizado en el proceso de autenticación. Para resolver este problema, EAS o IdP debe generar un nuevo JWT.

¡Gracias por sus comentarios!