Parte 5 - Configurazione del livello Web

Il livello Web dell’architettura di riferimento deve includere i seguenti componenti:

  • Un servizio di bilanciamento del carico dell’applicazione rivolto al Web che accetta le richieste HTTPS dai client Tableau e comunica con i server proxy inversi.
  • Proxy inverso: 
    • È consigliabile distribuire Gateway indipendente Tableau Server.
    • È consigliabile un minimo di due server proxy per la ridondanza e per gestire il carico client.
    • Riceve il traffico HTTPS dal servizio di bilanciamento del carico.
    • Supporta la sessione permanente per l’host Tableau.
    • Configura il proxy per il bilanciamento del carico round robin in ogni sistema Tableau Server che esegue il processo Gateway.
    • Gestisce le richieste di autenticazione dall’IdP esterno.
  • Proxy di inoltro: Tableau Server richiede l’accesso a Internet per la gestione delle licenze e le funzionalità per le mappe. Devi configurare gli elenchi consentiti del proxy di inoltro per gli URL dei servizi Tableau. Vedi Comunicare con Internet (Linux(Il collegamento viene aperto in una nuova finestra)).
  • Tutto il traffico relativo ai client può essere crittografato su HTTPS:
    • Dal client al servizio di bilanciamento del carico dell’applicazione
    • Dal servizio di bilanciamento del carico dell’applicazione ai server proxy inversi
    • Dal server proxy a Tableau Server
    • Dal gestore di autenticazione in esecuzione su un proxy inverso all’IdP
    • Da Tableau Server all’IdP

Gateway indipendente Tableau Server

In Tableau Server versione 2022.1 è stato introdotto Gateway indipendente Tableau Server. Gateway indipendente è un’istanza autonoma del processo Gateway di Tableau che opera come proxy inverso compatibile con Tableau.

Gateway indipendente supporta il bilanciamento del carico round robin semplice nelle istanze back-end di Tableau Server. Gateway indipendente non deve tuttavia essere utilizzato come servizio di bilanciamento del carico delle applicazioni aziendali. Ti consigliamo di eseguire Gateway indipendente dietro un servizio di bilanciamento del carico delle applicazioni aziendali.

Gateway indipendente richiede una licenza Advanced Management.

Autenticazione e autorizzazione

L’architettura di riferimento predefinita specifica l’installazione di Tableau Server con l’autenticazione locale configurata. In questo modello, i client devono connettersi a Tableau Server per essere autenticati dal processo di autenticazione locale nativo di Tableau Server. Non è consigliabile utilizzare questo metodo di autenticazione nell’architettura di riferimento perché lo scenario richiede che i client non autenticati comunichino nel livello applicazione, il che rappresenta un rischio per la sicurezza.

È invece consigliabile configurare un provider di identità esterno di livello aziendale, associato a un modulo AuthN per pre-autenticare tutto il traffico verso il livello applicazione. Se configurato con un IdP esterno, il processo di autenticazione locale nativo di Tableau Server non viene utilizzato. Tableau Server autorizza l’accesso alle risorse nella distribuzione dopo che l’IdP ha autenticato gli utenti.

Pre-autenticazione con un modulo AuthN

Nell’esempio documentato in questa guida è configurato l’accesso SSO SAML, ma il processo di pre-autenticazione può essere configurato con la maggior parte dei provider di identità esterni e un modulo AuthN.

Nell’architettura di riferimento, il proxy inverso è configurato per creare una sessione di autenticazione client con l’IdP prima di inoltrare tali richieste a Tableau Server. Ci riferiamo a questo processo come fase di pre-autenticazione. Il proxy inverso reindirizzerà solo le sessioni client autenticate a Tableau Server. Tableau Server creerà una sessione, verificherà l’autenticazione della sessione con l’IdP e quindi restituirà la richiesta client.

Il diagramma seguente mostra i dettagli passo passo del processo di pre-autenticazione e autenticazione con un modulo AuthN configurato. Il proxy inverso può essere una soluzione generica di terze parti o Gateway indipendente Tableau Server:

Le fasi illustrate nel diagramma precedente. Fase 1: il client Tableau richiede una risorsa su Tableau Server. Fase 2: il proxy inverso crea una richiesta di autenticazione con un reindirizzamento URL al provider di identità. Fase 3: il provider di identità invia un modulo di accesso all’utente. Fase 4: l’utente immette le credenziali richieste. Fase 5: il provider di identità verifica le credenziali inviate dall’utente. Fase 6: il provider di identità risponde al client con l’asserzione SAML incorporata che invia al provider di servizi del proxy inverso. Fase 7: il provider di servizi sul proxy convalida l’asserzione, crea una sessione e quindi reindirizza al provider di servizi su Tableau Server. Fase 8: il provider di servizi su Tableau Server crea la richiesta di autenticazione al provider di identità. Fase 9: il provider di identità convalida la sessione corrente. Fase 10: il provider di servizi su Tableau Server convalida e crea la propria sessione e invia la risposta all’utente. Fase 11: l’utente si connette a Tableau Server per l’autorizzazione alla risorsa specificata.

Panoramica della configurazione

Questa è una panoramica del processo per configurare il livello Web. Verifica la connettività dopo ogni passaggio:

  1. Configura due proxy inversi per fornire l’accesso HTTP a Tableau Server.
  2. Configura la logica di bilanciamento del carico con sessioni permanenti sui server proxy per connetterti a ogni istanza di Tableau Server che esegue il processo Gateway.
  3. Configura il bilanciamento del carico dell’applicazione con sessioni permanenti sul gateway Internet per inoltrare le richieste ai server proxy inversi.
  4. Configura l’autenticazione con un IdP esterno. Puoi configurare SSO o SAML installando un gestore di autenticazione sui server proxy inversi. Il modulo AuthN gestisce l’handshake di autenticazione tra l’IdP esterno e la distribuzione di Tableau. Tableau opererà anche come fornitore di servizi IdP e autenticherà gli utenti con l’IdP.
  5. Per eseguire l’autenticazione con Tableau Desktop in questa distribuzione, i client devono eseguire Tableau Desktop 2021.2.1 o versione successiva.

Esempio di configurazione del livello Web con Gateway indipendente Tableau Server

Il resto di questo argomento fornisce una procedura end-to-end che descrive come implementare il livello Web nell’architettura di riferimento AWS utilizzando Gateway indipendente Tableau Server. Per un esempio di configurazione che utilizza Apache come proxy inverso, consulta Appendice - Livello Web con distribuzione di esempio di Apache.

La configurazione di esempio è composta dai seguenti componenti:

  • Servizio di bilanciamento del carico dell’applicazione AWS
  • Gateway indipendente Tableau Server
  • Modulo di autenticazione Mellon
  • IdP Okta
  • Autenticazione SAML

Nota: la configurazione del livello Web di esempio presentata in questa sezione include procedure dettagliate per la distribuzione di software e servizi di terze parti. Abbiamo fatto del nostro meglio per verificare e documentare le procedure necessarie per abilitare lo scenario del livello Web. Tuttavia, il software di terze parti potrebbe cambiare o lo scenario potrebbe differire dall’architettura di riferimento descritta in questo documento. Fai riferimento alla documentazione di terze parti per i dettagli della configurazione e il supporto.

Gli esempi relativi a Linux in questa sezione mostrano i comandi per le distribuzioni di tipo RHEL. In particolare, i comandi riportati di seguito sono stati sviluppati con la distribuzione Amazon Linux 2. Se esegui una distribuzione di Ubuntu, modifica i comandi di conseguenza.

La distribuzione del livello Web in questo esempio adotta una configurazione graduale e una procedura di verifica. La configurazione principale del livello Web comprende le fasi seguenti per abilitare HTTP tra Tableau e Internet. Gateway indipendente viene eseguito e configurato per il proxy inverso/bilanciamento del carico dietro il servizio di bilanciamento del carico dell’applicazione AWS:

  1. Preparare l’ambiente
  2. Installare Gateway indipendente
  3. Configurare server di Gateway indipendente
  4. Configurare il servizio di bilanciamento del carico dell’applicazione AWS

Dopo aver configurato il livello Web e verificato la connettività con Tableau, configura l’autenticazione con un provider esterno.

Preparare l’ambiente

Completa le seguenti attività prima di distribuire Gateway indipendente.

  1. Modifiche al gruppo di sicurezza AWS. Configurare il gruppo di sicurezza Pubblico per consentire il traffico di Housekeeping di Gateway indipendente in entrata (TCP 21319) dal gruppo di sicurezza Privato.

  2. Installa la versione 22.1.1 (o successiva) su un cluster Tableau Server a quattro nodi come documentato in Parte 4 - Installazione e configurazione di Tableau Server.

  3. Configura le due istanze EC2 proxy nel gruppo di sicurezza Pubblico come documentato in Configurare computer host.

Installare Gateway indipendente

Gateway indipendente Tableau Server richiede una licenza Advanced Management.

La distribuzione di Gateway indipendente Tableau Server comprende l’installazione e l’esecuzione del pacchetto .rpm e quindi la configurazione dello stato iniziale. La procedura inclusa in questa guida fornisce indicazioni prescrittive per l’implementazione nell’architettura di riferimento.

Se la tua distribuzione differisce dall’architettura di riferimento, consulta la documentazione di base di Tableau Server, Installare Tableau Server con Gateway indipendente (Linux(Il collegamento viene aperto in una nuova finestra)).

Importante: la configurazione del Gateway indipendente può essere un processo soggetto a errori. È molto difficile risolvere i problemi di configurazione in due istanze di server Gateway indipendenti. Per questo motivo, consigliamo di configurare un server Gateway indipendente alla volta. Dopo aver configurato il primo server e averne verificato la funzionalità, devi configurare il secondo server Gateway indipendente.

Sebbene configurerai ciascun server Gateway indipendente separatamente, esegui questa procedura di installazione su entrambe le istanze EC2 installate nel gruppo di sicurezza Pubblico: 

  1. Esegui l’aggiornamento per applicare le correzioni più recenti al sistema operativo Linux:

    sudo yum update

  2. Se Apache è installato, rimuovilo:

     sudo yum remove httpd
  3. Copia la versione 2022.1.1 (o successiva) del pacchetto di installazione di Gateway indipendente dalla pagina dei download di Tableau(Il collegamento viene aperto in una nuova finestra) nel computer host che eseguirà Tableau Server.

    Ad esempio, su un computer con sistema operativo Linux di tipo RHEL, esegui

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-tsig-<version>.x86_64.rpm

  4. Esegui il programma di installazione. Ad esempio, su un sistema operativo Linux di tipo RHEL, esegui:

    sudo yum install <tableau-tsig-version>.x86_64.rpm

  5. Passa alla directory /opt/tableau/tableau_tsig/packages/scripts.<version_code>/ ed esegui lo script initialize-tsig disponibile in tale posizione. In aggiunta al flag --accepteula, devi includere l’intervallo IP delle subnet in cui è in esecuzione la distribuzione di Tableau Server. Utilizza l’opzione -c per specificare l’intervallo IP. L’esempio seguente mostra il comando con le subnet AWS di esempio specificate:

    sudo ./initialize-tsig --accepteula -c "ip 10.0.30.0/24 10.0.31.0/24"

  6. Al termine dell’inizializzazione, apri il file tsighk-auth.conf e copia il segreto di autenticazione nel file. Dovrai inviare questo codice per ogni istanza di Gateway indipendente come parte della configurazione back-end di Tableau Server:

    sudo less /var/opt/tableau/tableau_tsig/config/tsighk-auth.conf

  7. Dopo aver eseguito le fasi precedenti su entrambe le istanze di Gateway indipendente, prepara il file di configurazione tsig.json. Il file di configurazione è costituito da una matrice "independentGateways". La matrice contiene oggetti di configurazione, ciascuno dei quali definisce i dettagli di connessione per un’istanza di Gateway indipendente.

    Copia il seguente codice JSON e personalizzalo in base al tuo ambiente di distribuzione. L’esempio mostra un file per un’architettura di riferimento AWS di esempio.

    Il file JSON di esempio riportato di seguito include solo le informazioni di connessione per un Gateway indipendente. Più avanti nel processo, includerai le informazioni di connessione per il secondo server Gateway indipendente.

    Salva il file come tsig.json per le procedure che seguono.

    {
    "independentGateways": [
     {
     	"id": "ip-10-0-1-169.ec2.internal",
     	"host": "ip-10-0-1-169.ec2.internal",
     	"port": "21319",
     	"protocol" : "http",
     	"authsecret": "13660-27118-29070-25482-9518-22453"
     	}]
     }

    • "id": il nome DNS privato dell’istanza EC2 AWS che esegue Gateway indipendente.
    • "host": uguale a "id".
    • "port": porta di Housekeeping, per impostazione predefinita "21319".
    • "protocol": il protocollo per il traffico client. Mantieni http per la configurazione iniziale.
    • "authsecret": il segreto che hai copiato nella fase precedente.

Gateway indipendente: confronto tra connessione diretta e di inoltro

Prima di procedere, è necessario decidere quale schema di connessione configurare nella distribuzione: connessione diretta o di inoltro. Ciascuna opzione è descritta brevemente di seguito, insieme ai dati rilevanti per prendere una decisione.

Connessione di inoltro: puoi configurare Gateway indipendente per inoltrare la comunicazione del client su un’unica porta al processo gateway su Tableau Server. Questa configurazione viene definita connessione di inoltro:

  • Il processo di inoltro comporta un passaggio aggiuntivo da Gateway indipendente al processo gateway di back-end di Tableau Server. Il passaggio in più riduce le prestazioni rispetto alla configurazione con connessione diretta.
  • TLS è supportato per la modalità di inoltro. Tutte le comunicazioni in modalità di inoltro sono limitate a un unico protocollo (HTTP o HTTPS) e possono quindi essere crittografate e autenticate con TLS.

Connessione diretta: Gateway indipendente può comunicare direttamente con i processi back-end di Tableau Server su più porte. Questo tipo di comunicazione viene definita connessione diretta:

  • Poiché la connessione avviene in modo diretto al back-end di Tableau Server, le prestazioni dei client risultano notevolmente superiori rispetto all’opzione con connessione di inoltro.
  • Richiede l’apertura di oltre 16 porte dalle subnet pubbliche a private per la comunicazione diretta del processo da Gateway indipendente ai computer Tableau Server.
  • TLS non è ancora supportato per i processi da Gateway indipendente a Tableau Server.

Per eseguire TLS fra Tableau Server e il Gateway indipendente, devi configurare con una connessione di inoltro. Gli scenari di esempio nella Guida alla distribuzione sono configurati con una connessione di inoltro.

  1. Copia tsig.json in Nodo 1 della distribuzione di Tableau Server.

  2. In Nodo 1 esegui questi comandi per abilitare Gateway indipendente.

    tsm stop
    tsm configuration set -k gateway.tsig.proxy_tls_optional -v none
    tsm pending-changes apply
    tsm topology external-services gateway enable -c tsig.json
    tsm start

Poiché la connessione diretta non supporta TLS, ti consigliamo di configurare la connessione diretta solo se sei in grado di proteggere tutto il traffico di rete con altri mezzi. Per eseguire TLS fra Tableau Server e il Gateway indipendente, devi configurare con una connessione di inoltro. Gli scenari di esempio nella Guida alla distribuzione sono configurati con una connessione di inoltro.

Se stai configurando Gateway indipendente per la connessione diretta a Tableau Server, devi abilitare la configurazione per attivare la comunicazione. Una volta che Tableau Server comunica con Gateway indipendente, verranno stabilite le destinazioni del protocollo. È quindi necessario recuperare proxy_targets.csv dal computer Gateway indipendente e aprire le porte corrispondenti dal gruppo di sicurezza Pubblico a quello Privato in AWS.

  1. Copia tsig.json in Nodo 1 della distribuzione di Tableau Server.

  2. In Nodo 1 esegui questi comandi per abilitare Gateway indipendente.

    tsm stop
    tsm topology external-services gateway enable -c tsig.json
    tsm start
  3. Nel computer Gateway indipendente esegui questo comando per visualizzare le porte utilizzate dal cluster di Tableau Server:

    less /var/opt/tableau/tableau_tsig/config/httpd/proxy_targets.csv
  4. Configura i gruppi di sicurezza AWS. Aggiungi le porte TCP elencate in proxy_targets.csv per consentire la comunicazione dal gruppo di sicurezza Pubblico al gruppo di sicurezza Privato.

    È consigliabile automatizzare la configurazione di ingresso sulle porte poiché le porte potrebbero cambiare se la distribuzione di Tableau Server cambia. L’aggiunta di nodi o la riconfigurazione dei processi sulla distribuzione di Tableau Server attiveranno le modifiche all’accesso alla porta richiesto da Gateway indipendente.

Verifica: configurazione della topologia di base

Dovresti essere in grado di accedere alla pagina di amministrazione di Tableau Server visitando http://<gateway-public-IP-address>.

Se la pagina di accesso di Tableau Server non viene caricata o se Tableau Server non si avvia, segui queste fasi di risoluzione dei problemi:

Rete: 

  • Verifica la connettività fra la distribuzione di Tableau e l’istanza del Gateway indipendente eseguendo il seguente comando wget da Tableau Server Nodo 1: wget http://<indirizzo IP interno del Gateway indipendente>:21319, ad esempio:

     wget http://ip-10-0-1-38:21319

    Se la connessione viene rifiutata o non riesce, verifica che il gruppo di sicurezza Pubblico sia configurato per consentire il traffico di gestione del Gateway indipendente (TCP 21319) dal gruppo di sicurezza Privato.

    Se il gruppo di sicurezza è configurato correttamente, verifica di aver specificato gli indirizzi IP o gli intervalli IP corretti durante l’inizializzazione del Gateway indipendente. Puoi visualizzare e modificare questa configurazione nel file environment.bash che si trova in/etc/opt/tableau/tableau_tsig/environment.bash. Se apporti una modifica a questo file, riavvia il servizio tsig-http come descritto di seguito.

Nell’host Proxy 1:

  1. Sovrascrivi il file httpd.conf con il file stub del Gateway indipendente:

    cp /var/opt/tableau/tableau_tsig/config/httpd.conf.stub /var/opt/tableau/tableau_tsig/config/httpd.conf
  2. Riavvia tsig-httpd come prima fase per la risoluzione dei problemi:
    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

In Tableau Nodo 1

  • Controlla il file tsig.json. Se rilevi degli errori, correggili, quindi esegui tsm topology external-services gateway update -c tsig.json.
  • Se utilizzi una connessione diretta, verifica che le porte TCP elencate in proxy_targets.csv siano configurate come porte di ingresso dal gruppo di sicurezza Pubblico a quello Privato.

Configurare il servizio di bilanciamento del carico dell’applicazione AWS

Configura il servizio di bilanciamento del carico come un listener HTTP. La procedura seguente descrive come aggiungere un servizio di bilanciamento del carico in AWS.

Fase 1. Creare un gruppo di destinazione

Un gruppo di destinazione è una configurazione di AWS che definisce le istanze EC2 che eseguono i server proxy. Questi sono le destinazioni per il traffico da LBS.

  1. EC2 > Gruppi di destinazione > Crea gruppo di destinazione

  2. Nella pagina Crea:

    • Inserisci un nome per il gruppo di destinazione, ad esempio TG-internal-HTTP
    • Tipo di destinazione: istanze
    • Protocollo: HTTP
    • Porta: 80
    • VPC: seleziona il VPC
    • In Controlli di integrità > Impostazioni avanzate controlli di integrità > Codici di riuscita aggiungi la lista dei codici da leggere:200,303.
    • Fai clic su Crea.
  3. Seleziona il gruppo di destinazione appena creato, quindi fai clic sulla scheda Destinazione

    • Fai clic su Modifica.
    • Seleziona le istanze EC2 (o una singola istanza se ne stai configurando una alla volta) che eseguono l’applicazione proxy, quindi fai clic su Aggiungi a registrati.
    • Fai clic su Salva.

Fase 2. Avviare la procedura guidata per il servizio di bilanciamento del carico

  1. EC2 > Servizi di bilanciamento del carico > Crea servizio di bilanciamento del carico

  2. Nella pagina "Seleziona il tipo di servizio di bilanciamento del carico" crea un servizio di bilanciamento del carico dell’applicazione.

Nota: l’interfaccia utente visualizzata per configurare il servizio di bilanciamento del carico non è uniforme tra i data center AWS. La procedura seguente, "Configurazione tramite procedura guidata", è associata alla procedura guidata di configurazione di AWS che inizia con Fase 1. Configurare il servizio di bilanciamento del carico

Se il tuo data center visualizza tutte le configurazioni in un’unica pagina che include un pulsante Crea servizio di bilanciamento del carico nella parte inferiore, segui la procedura "Configurazione con pagina singola" di seguito.

  1. Pagina Configura servizio di bilanciamento del carico:

    • Specifica il nome
    • Schema: internet-facing (predefinito)
    • Tipo di indirizzo IP: ipv4 (predefinito)
    • Listener (Listener e routing):
      1. mantieni il listener HTTP predefinito
      2. Fai clic su Aggiungi listener, quindi aggiungi HTTPS:443
    • VPC: seleziona il VPC in cui hai installato tutti i componenti
    • Aree di disponibilità:
      • Seleziona a e b per le regioni del data center
      • In ogni selettore a discesa corrispondente, seleziona la subnet pubblica (in cui risiedono i server proxy).
    • Fai clic su Configura impostazioni di sicurezza
  2. Pagina Configura impostazioni di sicurezza

    • Carica il certificato SSL pubblico.
    • Fai clic su Avanti: Configura gruppi di sicurezza.
  3. Pagina Configura gruppi di sicurezza:

    • Seleziona il gruppo di sicurezza Pubblico. Se è selezionato il gruppo di sicurezza Predefinito, deselezionarlo.
    • Fai clic su Avanti: Configura routing.
  4. Pagina Configura routing

    • Gruppo di destinazione: gruppo di destinazione esistente.
    • Nome: seleziona il gruppo di destinazione che hai creato in precedenza
    • Fai clic su Avanti: Registra destinazioni.
  5. Pagina Registra destinazioni

    • Dovrebbero essere visualizzate le due istanze del server proxy configurate in precedenza.
    • Fai clic su Avanti: Verifica.
  6. Pagina Verifica

    Fai clic su Crea.

Configurazione di base

  • Specifica il nome
  • Schema: internet-facing (predefinito)
  • Tipo di indirizzo IP: ipv4 (predefinito)

Mapping di rete

  • VPC: seleziona il VPC in cui hai installato tutti i componenti
  • Mapping:
    • seleziona le aree di disponibilità a e b (o equivalenti) per le regioni del data center
    • In ogni selettore a discesa corrispondente, seleziona la subnet pubblica (in cui risiedono i server proxy).

Gruppi di sicurezza

  • Seleziona il gruppo di sicurezza Pubblico. Se è selezionato il gruppo di sicurezza Predefinito, deselezionarlo.
  • Listener e routing

    • Mantieni il listener HTTP predefinito. Per Azione predefinita specifica il gruppo di destinazione impostato precedentemente.
    • Fai clic su Aggiungi listener, quindi aggiungi HTTPS:443. Per Azione predefinita specifica il gruppo di destinazione impostato precedentemente.

    Impostazioni del listener sicure

    • Carica il certificato SSL pubblico.

    Fai clic su Crea servizio di bilanciamento del carico.

    Fase 3. Abilitare la persistenza

    1. Dopo aver creato il servizio di bilanciamento del carico, è necessario abilitare la persistenza per il gruppo di destinazione.

      • Apri la pagina del gruppo di destinazione AWS (EC2 > Bilanciamento del carico > Gruppi di destinazione), quindi seleziona l’istanza del gruppo di destinazione appena configurata. Nel menu Azione seleziona Modifica attributi.
      • Nella pagina Modifica attributi seleziona Persistenza, specifica una durata di 1 day, quindi scegli Salva modifiche.
    2. Nel servizio di bilanciamento del carico, abilita la persistenza sul listener HTTP. Seleziona il servizio di bilanciamento del carico appena configurato, quindi fai clic sulla scheda Listener:

      • Per HTTP:80, fai clic su Visualizza/modifica regole. Nella pagina Regole visualizzata fai clic sull’icona di modifica (una volta nella parte superiore della pagina e quindi di nuovo accanto alla regola) per modificare la regola. Elimina la regola THEN esistente e sostituiscila facendo clic su Aggiungi azione > Inoltra a.... Nella configurazione THEN risultante specifica lo stesso gruppo di destinazione che hai creato. In Persistenza a livello di gruppo abilita la persistenza e imposta la durata su 1 giorno. Salva l’impostazione, quindi fai clic su Aggiorna.

    Fase 4. Impostare il timeout di inattività sul sistema di bilanciamento del carico

    Nel servizio di bilanciamento del carico aggiorna il timeout di inattività a 400 secondi.

    Seleziona il servizio di bilanciamento del carico che hai configurato per questa distribuzione, quindi fai clic su Azioni > Modifica attributi. Imposta Timeout di inattività su 400 secondi, quindi fai clic su Salva.

    Fase 5. Verificare la connettività di LBS

    Apri la pagina del servizio di bilanciamento del carico AWS (EC2 > Servizi di bilanciamento del carico), quindi seleziona l’istanza del servizio di bilanciamento del carico appena configurata.

    In Descrizione copia il nome DNS e incollalo in un browser per accedere alla pagina di accesso di Tableau Server.

    Se viene visualizzato un errore di livello 500, potrebbe essere necessario riavviare i server proxy.

    Aggiornare DNS con l’URL pubblico di Tableau

    Utilizza il nome della zona DNS del tuo dominio dalla descrizione del servizio di bilanciamento del carico AWS per creare un valore CNAME nel DNS. Il traffico verso il tuo URL (tableau.esempio.com) deve essere inviato al nome DNS pubblico di AWS.

    Verificare la connettività

    Al termine degli aggiornamenti del DNS, dovresti essere in grado di accedere alla pagina di accesso di Tableau Server inserendo il tuo URL pubblico, ad esempio https://tableau.example.com.

    Esempio di configurazione dell’autenticazione: SAML con IdP esterno

    L’esempio seguente descrive come impostare e configurare SAML con l’IdP Okta e il modulo di autenticazione Mellon per una distribuzione di Tableau in esecuzione nell’architettura di riferimento AWS.

    Questo esempio riprende dalla sezione precedente e presuppone che si stia configurando un Gateway indipendente alla volta.

    L’esempio descrive come configurare Tableau Server e Gateway indipendente su HTTP. Okta invierà la richiesta al sistema di bilanciamento del carico AWS tramite HTTPS, ma tutto il traffico interno sarà trasmesso tramite HTTP. Durante la configurazione per questo scenario, tieni presente i protocolli HTTP e HTTPS quando imposti le stringhe URL.

    Questo esempio utilizza Mellon come modulo del provider di servizi di pre-autenticazione sui server del Gateway indipendente. Questa configurazione garantisce che solo il traffico autenticato si connetta a Tableau Server, che opera anche come provider di servizi con l’IdP Okta. Pertanto, devi configurare due applicazioni IdP: una per il provider di servizi Mellon e una per il provider di servizi Tableau.

    Creare l’account amministratore di Tableau

    Un errore comune durante la configurazione di SAML è dimenticare di creare un account amministratore su Tableau Server prima di abilitare SSO.

    Il primo passaggio consiste nel creare un account su Tableau Server con un ruolo di amministratore del server. Per lo scenario Okta di esempio, il nome utente deve essere in un formato di indirizzo email valido, per esempio, user@example.com. È necessario impostare una password per questo utente, ma la password non verrà utilizzata dopo la configurazione di SAML.

    Configurare l’applicazione di pre-autorizzazione Okta

    Lo scenario end-to-end descritto in questa sezione richiede due applicazioni Okta:

    • Applicazione di pre-autenticazione Okta
    • Applicazione Tableau Server Okta

    Ognuna di queste applicazioni è associata a diversi metadati, che dovrai configurare rispettivamente sul proxy inverso e su Tableau Server.

    Questa procedura descrive come creare e configurare l’applicazione di pre-autenticazione Okta. Più avanti in questo argomento verrà creata l’applicazione Tableau Server Okta. Per un account Okta di prova gratuito con utenti limitati, vedi la pagina Web degli sviluppatori Okta(Il collegamento viene aperto in una nuova finestra) .

    Crea un’integrazione dell’app SAML per il provider di servizi di pre-autenticazione Mellon.

    1. Apri la dashboard di amministrazione di Okta > Applicazioni > Crea integrazione app.

    2. Nella pagina Crea una nuova integrazione app seleziona SAML 2.0, quindi fai clic su Avanti.

    3. Nella scheda Impostazioni generali immetti un nome per l’app, ad esempio Tableau Pre-Auth, quindi fai clic su Avanti.

    4. Nella scheda Configura SAML:

      • URL Single Sign-On (SSO). L’elemento finale del percorso nell’URL Single Sign-On è indicato come MellonEndpointPath nel file di configurazione mellon.conf riportato più avanti in questa procedura. Puoi specificare qualsiasi endpoint desideri. In questo esempio, l’endpoint è sso. L’ultimo elemento, postResponse, è obbligatorio: https://tableau.example.com/sso/postResponse.
      • Deseleziona la casella di controllo: Utilizzalo per URL destinatario e URL di destinazione.
      • URL destinatario: uguale all’URL SSO, ma con HTTP. Ad esempio, http://tableau.example.com/sso/postResponse.
      • URL di destinazione: uguale all’URL SSO, ma con HTTP. Ad esempio, http://tableau.example.com/sso/postResponse.
      • URI destinatario (ID entità del provider di servizi). Ad esempio, https://tableau.example.com.
      • Formato ID nome: EmailAddress
      • Nome utente applicazione: Email
      • Dichiarazioni attributi: Nome = mail; Formato nome = Unspecified; Valore = user.email.

      Fai clic su Avanti.

    5. Nella scheda Feedback seleziona:

      • Sono un cliente Okta che aggiunge un’app interna
      • Questa è un’app interna che abbiamo creato
      • Fai clic su Fine.
    6. Crea il file di metadati IdP pre-autenticazione:

      • In Okta: Applicazioni > Applicazioni > La tua nuova applicazione (ad esempio, Tableau Pre-Auth) > Accesso
      • Accanto a Certificati di firma SAML, fai clic su Visualizza istruzioni di configurazione SAML.
      • Nella pagina Come configurare SAML 2.0 per l’applicazione <pre-auth>, scorri verso il basso fino alla sezione Facoltativa, Fornisci i seguenti metadati IDP al tuo fornitore di servizi.
      • Copia il contenuto del campo XML e salvalo in un file chiamato pre-auth_idp_metadata.xml.
    7. (Facoltativo) Configura l’autenticazione a più fattori:

      • In Okta: Applicazioni > Applicazioni > La tua nuova applicazione (ad esempio, Tableau Pre-Auth) > Accesso
      • In Criterio di accesso fai clic su Aggiungi regola.
      • In Regola di accesso all’app specifica un nome e le diverse opzioni MFA. Per testare la funzionalità, puoi mantenere tutte le opzioni predefinite. Tuttavia, in Azioni devi selezionare Richiedi fattore e quindi specificare la frequenza con cui gli utenti devono eseguire l’accesso. Fai clic su Salva.

    Creare e assegnare un utente Okta

    1. In Okta, crea un utente con lo stesso nome utente che hai creato in Tableau (utente@example.com): Directory > Persone > Aggiungi persona.
    2. Dopo che l’utente è stato creato, assegna la nuova app Okta a tale persona: fai clic sul nome utente, quindi assegna l’applicazione in Assegna applicazione.

    Installare Mellon per la pre-autenticazione

    In questo esempio viene utilizzato mod_auth_mellon, un popolare modulo open source. Alcune distribuzioni Linux includono versioni obsolete di mod_auth_mellon da un repository precedente. Tali versioni obsolete possono contenere vulnerabilità di sicurezza sconosciute o problemi funzionali. Se scegli di utilizzare mod_auth_mellon, verifica di utilizzare una versione corrente.

    Il modulo mod_auth_mellon è un software di terze parti. Abbiamo fatto del nostro meglio per verificare e documentare le procedure necessarie per abilitare questo scenario. Tuttavia, il software di terze parti potrebbe cambiare o lo scenario potrebbe differire dall’architettura di riferimento descritta in questo documento. Fai riferimento alla documentazione di terze parti per i dettagli della configurazione e il supporto.

    1. Nell’istanza attiva EC2 che esegue il Gateway indipendente, installa una versione corrente del modulo di autenticazione Mellon.

    2. Crea la directory /etc/mellon:

      sudo mkdir /etc/mellon

    Configurare Mellon come modulo di pre-autenticazione

    Esegui questa procedura sulla prima istanza del Gateway indipendente.

    Devi disporre di una copia del file pre-auth_idp_metadata.xml che hai creato dalla configurazione di Okta.

    1. Cambia directory:

      cd /etc/mellon

    2. Crea i metadati del provider di servizi. Esegui lo script mellon_create_metadata.sh. Devi includere l’ID entità e l’URL restituito per la tua organizzazione nel comando.

      L’URL restituito è indicato come URL Single Sign-On in Okta. L’elemento finale del percorso nell’URL restituito è indicato come MellonEndpointPath nel file di configurazione mellon.conf riportato più avanti in questa procedura. In questo esempio, specifichiamo sso come percorso dell’endpoint.

      Ad esempio:

      sudo /usr/libexec/mod_auth_mellon/mellon_create_metadata.sh https://tableau.example.com "https://tableau.example.com/sso"

      Lo script restituisce il certificato, la chiave e i file dei metadati del provider di servizi.

    3. Rinomina i file del provider di servizi nella directory mellon per una maggiore leggibilità. Nella documentazione verrà fatto riferimento a questi file con i seguenti nomi:

      sudo mv *.key mellon.key
      sudo mv *.cert mellon.cert
      sudo mv *.xml sp_metadata.xml

    4. Copia il file pre-auth_idp_metadata.xml nella stessa directory.

    5. Modifica la proprietà e le autorizzazioni per tutti i file nella directory /etc/mellon:

      sudo chown tableau-tsig mellon.key
      sudo chown tableau-tsig mellon.cert
      sudo chown tableau-tsig sp_metadata.xml
      sudo chown tableau-tsig pre-auth_idp_metadata.xml 
      sudo chmod +r * mellon.key
      sudo chmod +r * mellon.cert
      sudo chmod +r * sp_metadata.xml
      sudo chmod +r * pre-auth_idp_metadata.xml 

    6. Crea la directory /etc/mellon/conf.d:

      sudo mkdir /etc/mellon/conf.d
    7. Crea il file global.conf nella directory /etc/mellon/conf.d.

      Copia il contenuto del file come mostrato di seguito, ma aggiorna MellonCookieDomain con il tuo nome di dominio radice. Ad esempio, se il nome di dominio per Tableau è tableau.example.com, inserisci example.com per il dominio radice.

      <Location "/">
      AuthType Mellon
      MellonEnable auth
      Require valid-user
      MellonCookieDomain <root domain>
      MellonSPPrivateKeyFile /etc/mellon/mellon.key
      MellonSPCertFile /etc/mellon/mellon.cert
      MellonSPMetadataFile /etc/mellon/sp_metadata.xml
      MellonIdPMetadataFile /etc/mellon/pre-auth_idp_metadata.xml
      MellonEndpointPath /sso
      </Location>
      
      <Location "/tsighk">
      MellonEnable Off
      </Location>
    8. Crea il file mellonmod.conf nella directory /etc/mellon/conf.d.

      Questo file contiene una singola direttiva che specifica il percorso del file mod_auth_mellon.so. Il percorso nell’esempio indicato è il percorso predefinito del file. Verifica che il file sia presente in tale percorso o modifica il percorso in questa direttiva in modo che corrisponda al percorso effettivo di mod_auth_mellon.so:

      LoadModule auth_mellon_module /usr/lib64/httpd/modules/mod_auth_mellon.so

    Creare un’applicazione Tableau Server in Okta

    1. Nella dashboard di Okta: Applicazioni > Applicazioni > Sfoglia catalogo app
    2. In Sfoglia catalogo integrazione app cerca Tableau, seleziona il riquadro Tableau Server, quindi fai clic su Aggiungi.
    3. In Aggiungi Tableau Server > Impostazioni generali immetti un’etichetta, quindi fai clic su Avanti.
    4. In Opzioni di accesso, seleziona SAML 2.0, quindi scorri verso il basso fino ad Impostazioni di accesso avanzate:
      • ID entità SAML: inserisci l’URL pubblico, ad esempio https://tableau.example.com.
      • Formato nome utente applicazione: E-mail
    5. Fai clic sul collegamento Metadati del provider di identità per avviare un browser. Copia il collegamento nel browser. Questo è il collegamento che utilizzerai durante la configurazione di Tableau nella procedura seguente.
    6. Fai clic su Fine.
    7. Assegna la nuova app Okta Tableau Server all’utente (utente@example.com): fai clic sul nome utente, quindi assegna l’applicazione in Assegna applicazione.

    Impostare la configurazione del modulo di autenticazione in Tableau Server

    Esegui i comandi indicati di seguito sul Nodo 1 di Tableau Server. Questi comandi specificano le posizioni dei file di configurazione di Mellon sul computer remoto del Gateway indipendente. Verifica che i percorsi dei file specificati in questi comandi siano mappati ai percorsi e alla posizione dei file sul computer remoto del Gateway indipendente.

    tsm configuration set -k gateway.tsig.authn_module_block -v "/etc/mellon/conf.d/mellonmod.conf" --force-keys
    tsm configuration set -k gateway.tsig.authn_global_block -v "/etc/mellon/conf.d/global.conf" --force-keys

    Per ridurre i tempi di inattività, non applicare le modifiche prima di aver abilitato SAML come descritto nella sezione successiva.

    Abilitare SAML su Tableau Server per l’IdP

    Esegui questa procedura su Nodo 1 di Tableau Server.

    1. Scarica i metadati dell’applicazione Tableau Server da Okta. Usa il collegamento che hai salvato dalla procedura precedente:

      wget https://dev-66144217.okta.com/app/exk1egxgt1fhjkSeS5d7/sso/saml/metadata -O idp_metadata.xml

    2. Copia un certificato TLS e il relativo file chiave in Tableau Server. Il file chiave deve essere una chiave RSA. Per maggiori informazioni sui requisiti del certificato SAML e dell’IdP, consulta Requisiti SAML (Linux(Il collegamento viene aperto in una nuova finestra)).

      Per semplificare la gestione e la distribuzione dei certificati e come procedura consigliata per la sicurezza, è consigliabile utilizzare i certificati generati da un’importante e affidabile autorità di certificazione (CA) terza. In alternativa, puoi generare certificati autofirmati o utilizzare i certificati di un’infrastruttura a chiave pubblica per TLS.

      Se non disponi di un certificato TLS, puoi generare un certificato autofirmato utilizzando la procedura incorporata riportata di seguito.

      Generare un certificato autofirmato

      Esegui questa procedura su Nodo 1 di Tableau Server.

      1. Genera la chiave dell’autorità di certificazione (CA) radice di firma:

        openssl genrsa -out rootCAKey-saml.pem 2048

      2. Crea il certificato CA radice:

        openssl req -x509 -sha256 -new -nodes -key rootCAKey-saml.pem -days 3650 -out rootCACert-saml.pem

        Ti verrà richiesto di inserire i valori per i campi del certificato. Ad esempio:

        Country Name (2 letter code) [XX]:US
        State or Province Name (full name) []:Washington
        Locality Name (eg, city) [Default City]:Seattle
        Organization Name (eg, company) [Default Company Ltd]:Tableau
        Organizational Unit Name (eg, section) []:Operations
        Common Name (eg, your name or your server's hostname) []:tableau.example.com
        Email Address []:example@tableau.com
      3. Crea il certificato e la relativa chiave (server-saml.csr e server-saml.key nell’esempio seguente). Il nome del soggetto per il certificato deve corrispondere al nome host pubblico dell’host Tableau. Il nome del soggetto è impostato con l’opzione -subj con il formato "/CN=<host-name>", ad esempio:

        openssl req -new -nodes -text -out server-saml.csr -keyout server-saml.key -subj "/CN=tableau.example.com"

      4. Firma il nuovo certificato con il certificato CA che hai creato in precedenza. Il seguente comando invia in output anche il certificato nel formato crt:

        openssl x509 -req -in server-saml.csr -days 3650 -CA rootCACert-saml.pem -CAkey rootCAKey-saml.pem -CAcreateserial -out server-saml.crt

      5. Converti il file chiave in RSA. Tableau richiede un file chiave RSA per SAML. Per convertire la chiave, esegui questo comando:

        openssl rsa -in server-saml.key -out server-saml-rsa.key

    3. Configura SAML. Esegui questo comando, specificando l’ID dell’entità e l’URL restituito, nonché i percorsi del file dei metadati, del file del certificato e del file chiave:

      tsm authentication saml configure --idp-entity-id "https://tableau.example.com" --idp-return-url "https://tableau.example.com" --idp-metadata idp_metadata.xml --cert-file "server-saml.crt" --key-file "server-saml-rsa.key"

      tsm authentication saml enable

    4. Se la tua organizzazione esegue Tableau Desktop 2021.4 o versione successiva, devi eseguire questo comando per abilitare l’autenticazione tramite i server proxy inversi.

      Le versioni di Tableau Desktop 2021.2.1-2021.3 funzioneranno senza eseguire questo comando, a condizione che il modulo di pre-autenticazione (ad esempio, Mellon) sia configurato in modo da consentire la conservazione dei cookie del dominio di primo livello.

      tsm configuration set -k features.ExternalBrowserOAuth -v false

    5. Applica le modifiche alla configurazione:

      tsm pending-changes apply

    Riavviare il servizio tsig-httpd

    Quando la distribuzione di Tableau Server applica le modifiche, accedi nuovamente al computer del Gateway indipendente di Tableau Server ed esegui i seguenti comandi per riavviare il servizio tsig-httpd:

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

    Convalidare la funzionalità SAML

    Per convalidare la funzionalità SAML end-to-end, accedi a Tableau Server con l’URL pubblico (ad esempio, https://tableau.example.com) tramite l’account amministratore di Tableau creato all’inizio di questa procedura.

    Se TSM non si avvia ("errore del gateway") o se vengono visualizzati errori del browser quando tenti di connetterti, consulta Risolvere i problemi del Gateway indipendente di Tableau Server.

    Configurare il modulo di autenticazione nella seconda istanza del Gateway indipendente

    Dopo aver configurato correttamente la prima istanza di Gateway indipendente, distribuisci la seconda istanza. Questo esempio è il processo finale per l’installazione dello scenario AWS/Mellon/Okta descritto in questo argomento. La procedura presuppone che tu abbia già installato il Gateway indipendente sulla seconda istanza, come descritto in questo argomento in precedenza ( Installazione del Gateway indipendente ).

    Il processo per la distribuzione del secondo Gateway indipendente richiede i seguenti passaggi:

    1. Nella seconda istanza del Gateway indipendente: installa il modulo di autorizzazione Mellon.

      Non configurare il modulo di autenticazione Mellon come descritto in precedenza in questo argomento. Devi invece clonare la configurazione come descritto nelle fasi successive.

    2. Sulla (prima) istanza configurata di Gateway indipendente:

      Esegui una copia tar della configurazione Mellon esistente. Il backup tar conserverà tutta la gerarchia di directory e le autorizzazioni. Esegui questi comandi:

      cd /etc
      sudo tar -cvf mellon.tar mellon

      Copia mellon.tar nella seconda istanza del Gateway indipendente.

    3. Nella seconda istanza del Gateway indipendente:

      Estrai ("decomprimi") il file tar nella seconda istanza nella directory /etc. Esegui questi comandi:

      cd /etc
      sudo tar -xvf mellon.tar

    4. Sul nodo 1 della distribuzione di Tableau Server: aggiorna il file di connessione (tsig.json ) con le informazioni di connessione dal secondo Gateway indipendente. Dovrai recuperare la chiave di autenticazione come descritto in questo argomento in precedenza ( Installare il Gateway indipendente ).

      Un esempio di file di connessione (tsig.json ) è riportato qui:

      {
      "independentGateways": [
       {
         "id": "ip-10-0-1-169.ec2.internal",
         "host": "ip-10-0-1-169.ec2.internal",
         "port": "21319",
         "protocol" : "http",
         "authsecret": "13660-27118-29070-25482-9518-22453"
       },
       {
         "id": "ip-10-0-2-230.ec2.internal",
         "host": "ip-10-0-2-230.ec2.internal",
         "port": "21319",
         "protocol" : "http",
         "authsecret": "9055-27834-16487-27455-30409-7292"
       }]
       }
    5. Sul nodo 1 della distribuzione di Tableau Server: esegui i seguenti comandi per aggiornare la configurazione:

      tsm stop
      tsm topology external-services gateway update -c tsig.json
      
      tsm start
    6. In entrambe le istanze del Gateway indipendente: all’avvio di Tableau Server, riavvia il processo tsig-httpd:

      sudo su - tableau-tsig
      systemctl --user restart tsig-httpd
      exit
    7. In AWS EC2>Gruppi di destinazione: aggiorna il gruppo di destinazione per includere l’istanza EC2 che esegue la seconda istanza del Gateway indipendente.

      Seleziona il gruppo di destinazione appena creato, quindi fai clic sulla scheda Destinazione: 

      • Fai clic su Modifica.
      • Seleziona l’istanza EC2 del secondo computer Gateway indipendente, quindi fai clic su Aggiungi a registrato. Fai clic su Salva.
    Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!