In qualità di amministratore del sito Tableau Cloud, puoi registrare un server di autorizzazione esterno (EAS) per stabilire una relazione di trust tra il tuo sito Tableau Cloud e EAS utilizzando il protocollo standard OAuth 2.0. Stabilendo una relazione di trust, puoi:

  • Fornire ai tuoi utenti un'esperienza Single Sign-On (SSO) ai contenuti di Tableau incorporati nelle applicazioni esterne tramite il fornitore di identità (IdP) che hai già configurato per il tuo sito Tableau Cloud.
  • Autorizzare programmaticamente l'accesso all'API REST di Tableau per conto degli utenti utilizzando un token Web JSON (JWT)

Quando il contenuto di Tableau incorporato viene caricato nell'applicazione esterna, viene utilizzato un flusso OAuth standard. Dopo che gli utenti effettuano correttamente l'accesso all'IdP, l'accesso a Tableau Cloud è automatico. Esegui la procedura descritta di seguito per registrare l'EAS con il tuo sito Tableau Cloud.

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.
  • Se l'app connessa è in esecuzione in un contenitore, come un'istanza di EC2, gli orologi del contenitore e dell'host devono essere entrambi impostati su UTC affinché il token di sessione sia considerato valido. Se uno degli orologi utilizza uno standard diverso, l'app connessa non verrà considerata attendibile.

Fase 1. Prima di iniziare

Per registrare un EAS con il tuo sito Tableau Cloud , 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.

AttestazioneDescrizione o valore richiesto
"kid" (Key ID)Obbligatorio (nell'intestazione). Identificatore di chiave univoco restituito dal provider di identità.
"iss" (Issuer)Obbligatorio (nell'intestazione o come attestazione). URI dell'emittente univoco, in HTTPS, che identifica l'app connessa attendibile e la relativa chiave di firma.
"alg" (Algorithm)Obbligatorio (nell'intestazione). 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.
"sub" (Subject)Nome utente (indirizzo e-mail) dell'utente autenticato di Tableau Cloud.
"aud" (Audience)

Il valore deve essere: "tableau:<site_luid>"

Per ottenere il LUID del sito, puoi utilizzare il metodo di accesso dell'API REST di Tableau o seguire i passaggi seguenti per copiare l’ID del sito. Nota: per poter copiare il ID del sito devi registrare un EAS utilizzando la procedura qui descritta.

  1. Seleziona Impostazioni > App connesse, quindi seleziona l'app collegata al server di autorizzazione esterno.
  2. Fai clic sul pulsante Copia ID sito.

"exp" (Expiration Time)

Un token JWT valido non deve essere scaduto. L'ora di scadenza (in UTC) del token JWT deve rientrare nel periodo di validità massimo, che è di 10 minuti.

"jti" (ID JWT)L'attestazione ID JWT fornisce un identificatore univoco per il token JWT, applicando la distinzione tra maiuscole e minuscole.
"scp" (Scope)

Per l'incorporamento di workflow , i valori supportati includono:

"tableau:views:embed"
"tableau:views:embed_authoring"
"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 Cloud 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 (solo incorporamento di workflow) di seguito.

Per i workflow di autorizzazione dell'API REST, consulta Metodi API REST che supportano l'autorizzazione JWT .

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 Cloud

Registrando l'EAS con Tableau Cloud, stabilisci una relazione di trust tra EAS e il tuo sito Tableau Cloud . Ciò significa che quando gli utenti accedono ai contenuti di Tableau incorporati nella tua applicazione esterna, 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 attendibilità è stata verificata, agli utenti viene concesso l'accesso al contenuto incorporato.

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 esterna per conto degli utenti.

  1. In qualità di amministratore del server , accedi a Tableau Cloud.

  2. Dal riquadro di sinistra seleziona Impostazioni > App connesse.

  3. Fai clic sulla freccia rivolta verso il basso del pulsante Nuova app connessa e seleziona Trust OAuth 2.0.

  4. Nella finestra di dialogo Crea app connessa procedi come segue:
    1. Nella casella di testo URL emittente incolla l'URL dell'emittente dell'EAS.

    2. Seleziona Abilita app connessa. Per motivi di sicurezza, un'app connessa è disabilitata per impostazione predefinita quando viene creata.

    3. Al termine, fai clic sul pulsante Crea.

  5. Dopo aver creato l'applicazione connessa, copia l'ID del relativo sito. L'ID del sito viene utilizzato per l'attestazione "aud" (Audience) del JWT descritta nella fase 1 precedente.

Fase 3. Fasi successive

Per l'incorporamento di workflow

Dopo aver configurato il tuo sito Tableau Cloud per l'utilizzo dell'EAS, devi aggiungere il codice di incorporamento alla tua applicazione esterna. Assicurati di includere il token JWT valido generato dall'EAS, come descritto nella Fase 1, nel componente web chiamato dall'applicazione esterna.

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.

Per i workflow di autorizzazione dell'API REST

Dopo che il token JWT è stato configurato, è necessario aggiungere il token JWT valido alla richiesta di accesso all'API REST per l'accesso autorizzato. Per maggiori informazioni, consulta Ambiti di accesso per le app connesse.

Problemi noti (solo incorporamento di workflow)

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://online.tableau.com/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 esterna o l'autorizzazione API REST Tableau non riesce, 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 nel tuo sito Tableau Cloud.

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

Codice di erroreRiepilogoDescrizionePotenziale risoluzione o spiegazione
5SYSTEM_USER_NOT_FOUNDImpossibile trovare l'utente di TableauPer risolvere questo problema, verifica che il valore dell'attestazione "sub" (Subject) nel token JWT sia il nome utente (indirizzo e-mail) dell'utente autenticato di Tableau Cloud. Questo valore distingue tra maiuscole e minuscole.
16LOGIN_FAILEDAccesso non riuscitoQuesto errore è in genere causato da uno dei seguenti problemi di attestazione nel token JWT:
  • Il valore "exp" (Expiration Time) è superiore al periodo di validità massimo predefinito. Per risolvere questo problema, esamina le attestazioni registrate(Il collegamento viene aperto in una nuova finestra) richieste per un token JWT valido e assicurati che il valore corretto non sia superiore a 10 minuti.
  • Il valore "sub" (Subject) sta chiamando un utente sconosciuto. Per risolvere questo problema, verifica che il valore "sub" sia il nome utente (indirizzo e-mail) dell'utente autenticato di Tableau Cloud.
142EXTERNAL_AUTHORIZATION_SERVER_NOT_FOUNDEAS non trovatoPer risolvere questo problema, verifica che venga chiamato l'emittente corretto.
143EXTERNAL_AUTHORIZATION_SERVER_LIMIT_EXCEEDEDLimite EAS superatoIl sito ha raggiunto il numero massimo consentito (1) di server di autorizzazione esterni (EAS) registrati.
144INVALID_ISSUER_URLURL dell'emittente non valido L'URL dell'emittente non è valido o l'attributo "iss" (issuer) non è presente nel JWT.
149EAS_INVALID_JWKS_URIURI JWKS mancanteL'URI JWKS non esiste nei metadati IdP o l'URI JWKS non è configurato in Tableau. Per risolvere questo problema, configura un URI JWKS valido.
150EAS_RETRIEVE_JWK_SOURCE_FAILEDErrore nel recupero dell'origine della chiavePer risolvere questo problema, verifica che l'URI JWKS sia configurato correttamente.
151EAS_RETRIEVE_METADATA_FAILEDErrore nel recupero dei metadati da issuerUrlPer risolvere questo problema, verifica che l'URI JWKS sia configurato correttamente.
10081COULD_NOT_RETRIEVE_IDP_METADATAEndpoint dei metadati EAS mancantePer risolvere questo problema, verifica che l'EAS sia configurato correttamente e che venga chiamato l'emittente corretto.
10082AUTHORIZATION_SERVER_ISSUER_NOT_SPECIFIEDEmittente mancantePer risolvere questo problema, verifica che venga chiamato l'emittente corretto.
10083BAD_JWTL'intestazione JWT presenta problemiLe attestazioni "kid" (ID secret) o "clientId" (Issuer) non sono presenti nell'intestazione JWT. Per risolvere questo problema, assicurati che queste informazioni siano incluse.
10084JWT_PARSE_ERRORIl token JWT presenta problemiPer 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.
  • I valori "aud" (Audience) e "sub" (Subject) sono inclusi nel JWT.
10085COULD_NOT_FETCH_JWT_KEYSJWT non è riuscito a trovare le chiaviImpossibile trovare il segreto.

Per risolvere questo problema, verifica che venga chiamato l'emittente corretto.

10087BLOCKLISTED_JWS_ALGORITHM_USED_TO_SIGNProblema dell'algoritmo di firma JWTPer risolvere il problema, puoi rimuovere l'algoritmo di firma.
10088RSA_KEY_SIZE_INVALIDProblema dei requisiti di firma JWTPer risolvere questo problema, verifica con l'EAS o l'IdP che il token JWT sia firmato con una chiave RSA di 2048.
10091JTI_ALREADY_USEDJWT univoco richiestoIl token JWT è già stato utilizzato nel processo di autenticazione. Per risolvere questo problema, l'EAS o l'IdP deve generare un nuovo token JWT.
10094MISSING_REQUIRED_JTIID JWT mancantePer risolvere questo problema, verificare che "jti" (ID JWT) sia incluso nel JWT.
10095EXTERNAL_AUTHZ_SERVER_DISABLEDEAS disabilitatoL'app connessa per l'EAS registrato nel sito è disabilitata.
10096JWT_EXPIRATION_EXCEEDS_CONFIGURED_EXPIRATION_PERIOD  Il valore "exp" (Ora di scadenza) è superiore al periodo di validità massimo predefinito. Per risolvere questo problema, esamina le attestazioni registrate(Il collegamento viene aperto in una nuova finestra) richieste per un token JWT valido e assicurati che il valore corretto non sia superiore a 10 minuti.
10097SCOPES_MALFORMEDProblemi con l'attestazione relativa agli ambitiQuesto errore può verificarsi quando l'attestazione "scp" (Scope) non è presente nel JWT o non è passata come tipo di elenco. Per risolvere questo problema, verifica che "scp" sia incluso nel JWT e passato come tipo di elenco. Per informazioni sulla risoluzione dei problemi con JWT, consulta Debugger(Il collegamento viene aperto in una nuova finestra) sul sito auth0.
10098JWT_UNSIGNED_OR_ENCRYPTEDIl token JWT non è firmato o è crittografatoTableau non supporta token JWT non firmati o crittografati.
10099SCOPES_MISSING_IN_JWTAttestazione di ambito mancanteNel token JWT manca l'attestazione "'scp" (Scope) richiesta. Per risolvere questo problema, verifica che "scp" sia incluso nel JWT. Per informazioni sulla risoluzione dei problemi con JWT, consulta Debugger(Il collegamento viene aperto in una nuova finestra) sul sito auth0.
10100JTI_PERSISTENCE_FAILEDErrore di ID JWT imprevistoSi è verificato un errore imprevisto con "jti" (JWT ID). Per risolvere questo problema, è necessario generare un nuovo token JWT con un nuovo "jti".
Grazie per il tuo feedback.