In qualità di amministratore di Tableau Server, puoi registrare un server di autorizzazione esterno (EAS) per stabilire una relazione di trust tra Tableau Server e EAS. Stabilendo una relazione di trust, puoi fornire ai tuoi utenti un'esperienza Single Sign-On (SSO) ai contenuti di Tableau incorporati nelle applicazioni personalizzate tramite il provider di identità (IdP) che hai già configurato per Tableau Server. Quando il contenuto di Tableau incorporato viene caricato nell'applicazione personalizzata, viene utilizzato un flusso OAuth standard. Dopo che gli utenti effettuano correttamente l'accesso all'IdP, l'accesso a Tableau Server è automatico.

Esegui la procedura descritta di seguito per registrare l'EAS con Tableau Server.

Importante:

  • alcune delle procedure in questo argomento richiedono la configurazione con software e servizi di terze parti. Abbiamo fatto del nostro meglio per verificare le procedure necessarie per abilitare la funzionalità EAS in Tableau Server. Tuttavia, il software e i servizi di terze parti potrebbero cambiare o la tua organizzazione potrebbe essere diversa. In caso di problemi, fai riferimento alla documentazione di terze parti per i dettagli della configurazione e il supporto.
  • Per abilitare l'incorporamento tramite EAS, Tableau Server deve essere configurato per l'utilizzo di SSL per il traffico HTTP.

Fase 1. Prima di iniziare

Per registrare un EAS con Tableau Server, devi disporre di un EAS già configurato. Inoltre, l'EAS deve inviare un token JWT (JSON Web Token) valido che contenga le attestazioni registrate e l'intestazione elencate nella tabella seguente.

Attestazione Descrizione o valore richiesto
"iss" (Issuer) URI dell'emittente univoco che identifica l'EAS attendibile e la relativa chiave di firma.
"alg" (Algorithm) Algoritmo di firma JWT. I nomi degli algoritmi supportati sono elencati nella pagina Class JWSAlgorithm(Il collegamento viene aperto in una nuova finestra) della documentazione javadoc.io. L'algoritmo di firma può essere configurato utilizzando il comando descritto in vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms.
"sub" (Subject) Nome utente di Tableau Server dell'utente autenticato.
"aud" (Audience) Il valore deve essere: "tableau"
"exp" (ExpirationTime) Un token JWT valido non deve essere scaduto. L'ora di scadenza del token JWT deve rientrare nel periodo di validità massimo configurato. Il periodo di validità massimo può essere configurato utilizzando il comando vizportal.oauth.external_authorization_server.max_expiration_period_in_minutes.
"jti" (ID JWT) L'attestazione ID JWT fornisce un identificatore univoco per il token JWT, applicando la distinzione tra maiuscole e minuscole.
"scp" (Scope)

I valori supportati includono:

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

Note:

  • I valori devono essere passati come tipo di elenco.
  • Per tableau:views:embed, l'ambito rispetta le autorizzazioni degli utenti già configurate in Tableau Online e consente agli utenti di interagire con gli strumenti nella vista incorporata, se disponibili nella vista originale.
  • È consigliabile che il codice di incorporamento escluda il parametro toolbar. Per maggiori informazioni, consulta Problemi noti di seguito.

Nota: le attestazioni JWT precedenti sono documentate nella sezione Registered Claim Names(Il collegamento viene aperto in una nuova finestra) della documentazione distribuita dall'organizzazione Internet Engineering Task Force (IETF).

Fase 2. Registrare l'EAS con Tableau Server

Registrando l'EAS con Tableau Server, stabilisci una relazione di trust tra EAS e Tableau Server. Ciò significa che quando gli utenti accedono ai contenuti di Tableau incorporati nella tua applicazione personalizzata, vengono reindirizzati per l'autenticazione con l'IdP. L'EAS genera il token di autenticazione, che viene passato a Tableau Server per la verifica. Dopo che la relazione di trust è stata verificata, agli utenti viene concesso l'accesso al contenuto incorporato.

Dopo la registrazione dell'EAS, la relazione di trust stabilita si applica a tutti i siti in Tableau Server.

Nota: alcuni EAS supportano la possibilità di visualizzare una finestra di dialogo di consenso, che richiede l'approvazione degli utenti affinché l'applicazione acceda ai contenuti di Tableau. Per garantire un'esperienza ottimale per gli utenti, è consigliabile configurare l'EAS in modo che acconsenta automaticamente alla richiesta dell'applicazione personalizzata per conto degli utenti.

  1. Come amministratore di Tableau Server, accedi all'interfaccia utente Web di Tableau Services Manager (TSM). Per ulteriori informazioni, consulta Accedere all'interfaccia utente Web di Tableau Services Manager.

  2. Passa a Identità e accesso utente > Server di autorizzazione e procedi come segue:
    1. Seleziona la casella di controllo Abilita accesso OAuth per il contenuto incorporato.

    2. Nella casella di testo URL emittente incolla l'URL dell'emittente dell'EAS.

    3. Fai clic sul pulsante Salva modifiche in sospeso.

  3. Al termine, effettua le seguenti operazioni:
    1. Nell'angolo superiore destro della pagina fai clic sul pulsante Modifiche in sospeso.

    2. Nell'angolo inferiore destro della pagina fai clic sul pulsante Applica modifiche e riavvia per arrestare e riavviare Tableau Server.

  1. Apri un prompt dei comandi come amministratore sul nodo iniziale (in cui è installato TSM) del cluster.
  2. Esegui questi comandi:

    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

Fase 3. Operazioni successive per l'incorporamento

Dopo aver configurato Tableau Server per l'utilizzo dell'EAS, devi aggiungere il codice di incorporamento alla tua applicazione personalizzata. Assicurati di includere il token JWT valido generato dall'EAS, come descritto nella fase 1, nel componente Web chiamato dall'applicazione personalizzata.

Per maggiori informazioni sull'incorporamento del contenuto di Tableau, consulta uno o entrambi i seguenti argomenti:

Nota: affinché gli utenti possano eseguire correttamente l'autenticazione quando accedono ai contenuti incorporati, i browser devono essere configurati in modo da consentire i cookie di terze parti o per l'utilizzo dell'archiviazione partizionata. L'archiviazione partizionata è attivata per impostazione predefinita per Mozilla Firefox e può essere abilitata nei browser Google Chrome.

Problemi noti

Esistono alcuni problemi noti per l'utilizzo delle app connesse che verranno risolti in una versione futura.

  • Funzionalità della barra degli strumenti: quando per il contenuto incorporato è definito il parametro toolbar, non tutte le funzionalità della barra degli strumenti funzioneranno. Per risolvere il problema, è consigliabile nascondere il parametro toolbar come nell'esempio seguente.

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

  • Origini dati pubblicate: le origini dati pubblicate impostate su Avvisa utente per le credenziali del database non verranno visualizzate. Per risolvere il problema, se possibile, è consigliabile che i proprietari delle origini dati incorporino le proprie credenziali del database.

Risoluzione dei problemi

Quando il contenuto incorporato non viene visualizzato nell'applicazione personalizzata, puoi utilizzare gli strumenti per sviluppatori di un browser per ispezionare e identificare i codici di errore che potrebbero essere associati alla funzionalità EAS abilitata in Tableau Server.

Fai riferimento alla tabella seguente per consultare la descrizione del codice di errore e la potenziale risoluzione.

Codice di errore Riepilogo Descrizione Potenziale risoluzione o spiegazione
5 SYSTEM_USER_NOT_FOUND Impossibile trovare l'utente di Tableau Per risolvere questo problema, verifica che il valore dell'attestazione "sub" (Subject) in JWT sia "username" per Tableau Server. Questo valore distingue tra maiuscole e minuscole.
16 LOGIN_FAILED Accesso non riuscito Questo errore è in genere causato da uno dei seguenti problemi di attestazione nel token JWT:
10081 COULD_NOT_RETRIEVE_IDP_METADATA Endpoint dei metadati EAS mancante Per risolvere questo problema, verifica che l'EAS sia configurato correttamente e che venga chiamato l'emittente corretto.
10082 AUTHORIZATION_SERVER_ISSUER_NOT_SPECIFIED Emittente mancante Per risolvere questo problema, verifica che venga chiamato l'emittente corretto. Per modificare l'URL dell'emittente, puoi utilizzare il comando vizportal.oauth.external_authorization_server.issuer.
10083 BAD_JWT L'intestazione JWT presenta problemi Questo errore è in genere causato da uno dei seguenti problemi dell'intestazione nel token JWT:
  • Le attestazioni "secret key" (Kid) o "clientId" (Issuer) non sono presenti nell'intestazione JWT. Per risolvere questo problema, assicurati che queste informazioni siano incluse.
  • Il token JWT non è firmato o è crittografato. Tableau non supporta token JWT non firmati o crittografati.
10084 JWT_PARSE_ERROR Il token JWT presenta problemi

Per risolvere il problema, verifica quanto segue:

  • Il valore "aud" (Audience) a cui viene fatto riferimento nel token JWT utilizza il valore "tableau". Questo valore distingue tra maiuscole e minuscole.
  • "aud" (Audience), "sub" (Subject), "jti" (ID JWT) sono inclusi nel token JWT.
10085 COULD_NOT_FETCH_JWT_KEYS JWT non è riuscito a trovare le chiavi

Impossibile trovare il segreto.

Per risolvere questo problema, verifica che venga chiamato l'emittente corretto. Per modificare l'URL dell'emittente, puoi utilizzare il comando vizportal.oauth.external_authorization_server.issuer.

10087 BLOCKLISTED_JWS_ALGORITHM_USED_TO_SIGN Problema dell'algoritmo di firma JWT

Per risolvere il problema, puoi rimuovere l'algoritmo di firma. Per maggiori informazioni, consulta vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms.

10088 RSA_KEY_SIZE_INVALID Problema dei requisiti di firma JWT Per risolvere questo problema, verifica con l'EAS o l'IdP che il token JWT sia firmato con una chiave RSA di 2048.
10091 JTI_ALREADY_USED JWT univoco richiesto

Il token JWT è già stato utilizzato nel processo di autenticazione. Per risolvere questo problema, l'EAS o l'IdP deve generare un nuovo token JWT.

Grazie per il tuo feedback.