Abilitare l’esecuzione Esegui come di Kerberos per i connettori JDBC

A partire dalla versione 2020.2, Tableau Server supporta l’autenticazione Kerberos per i connettori JDBC.

Puoi configurare Tableau Server per l’utilizzo di un account di servizio Kerberos per accedere a un database. In questo scenario, Tableau Server si connette ai database con un account servizio, anche denominato "account servizio Esegui come". Questo scenario viene definito "autenticazione Esegui come".

Consulta Account servizio Esegui come.

Per utilizzare l’autenticazione Esegui come su Tableau Server, è prima necessario creare una cartella di lavoro o un’origine dati in Tableau Desktop che utilizzi l’autenticazione integrata. Al momento della pubblicazione su Tableau Server, verrà visualizzata l’opzione per l’utilizzo dell’autenticazione Esegui come. Durante la creazione una risorsa dati con Web authoring, l’operazione predefinita è l’autenticazione Esegui come se si seleziona l’autenticazione integrata.

Origini dati supportate

Tableau supporta la delega Kerberos JDBC con le seguenti origini dati:

  • Oracle
  • PostgreSQL

Se stai configurando l’autenticazione Esegui come per un’origine dati Oracle utilizzando un connettore basato su JDBC, segui la procedura in questo argomento. In alternativa, se il connettore in esecuzione su Tableau Server utilizza un driver nativo, non è necessario eseguire i passaggi descritti in questo argomento. Segui invece la procedura per creare un account servizio Esegui come come documentato nell’argomento Modificare l’account servizio Esegui come.

Requisiti

La delegazione Kerberos richiede Active Directory.

  • Per utilizzare LDAP - Active Directory devi configurare l’archivio di informazioni di Tableau Server.
  • Il MIT KDC non è supportato.

Processo di configurazione

In questa sezione viene fornito un esempio del processo per abilitare l’autenticazione Esegui come di Kerberos.

  1. Crea un file keytab per l’account di servizio Esegui come.

    Nell’esempio seguente viene utilizzato lo strumento ktab fornito con il JDK. Puoi scaricare lo strumento da AdoptOpenJDK(Il collegamento viene aperto in una nuova finestra). Quando usi ktab per creare il keytab, utilizza un’entità di accesso in formato UPN (ad esempio, service@EXAMPLE.COM) anziché un nome dell’entità servizio (ad esempio, HTTP/service.example.com@EXAMPLE.COM). Puoi anche generare file keytab con l’utilità ktpass, nel qual caso puoi usare entrambi gli stili per i nomi di entità.

    <JDK_HOME>/bin/ktab -k E:/tmp/tabsrv.keytab -a tabsrv@EXAMPLE.COM

    Tableau Server utilizzerà l’account di servizio Esegui come e il keytab associato per l’autenticazione e per creare una connessione diretta al database.

  2. Copia il file keytab nella directory dei dati di Tableau Server e verifica che l’account servizio Esegui come possa accedere e leggere il file keytab. Per impostazione predefinita, la directory dei dati di Tableau Server è C:\ProgramData\Tableau. Se esegui Tableau Server in una distribuzione distribuita, esegui questa procedura in ogni nodo del cluster.

  3. Esegui i seguenti comandi TSM per impostare l’account di servizio Esegui come e il percorso del file keytab:

    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_runas_keytab_path -v <path-to-file>kerberos.keytab

    In alcuni casi, TSM potrebbe restituire un errore che riporta --force-keys. Se visualizzi questo errore, esegui di nuovo il comando con il parametro --force-keys aggiunto all’argomento.

  4. Crea un file krb5.conf e installalo in C:\Windows su tutti i nodi di Tableau Server.

    Se hai già un file krb5.ini distribuito nei computer della tua organizzazione, copia tale file e utilizzalo per Tableau Server. Per maggiori informazioni, consulta l’argomento krb5.conf(Il collegamento viene aperto in una nuova finestra) della documentazione di MIT Kerberos.

    Per modificare la posizione del file di configurazione Kerberos, esegui il seguente comando TSM:

    tsm configuration set -k native_api.kerberos_config_path --force-keys -v "C:\temp\krb5.ini"

    Di seguito è riportato un esempio di file krb5.conf. L’assistenza di Tableau non può fornire supporto per la creazione di file krb5.conf.

    [libdefaults]
    forwardable = true
    default_realm = EXAMPLE.COM
    default_tkt_enctypes = rc4-hmac
    default_tgs_enctypes = rc4-hmac
    
    [realms]
    EXAMPLE.COM = {
    kdc = kdc.example.com
    admin_server = kdc.example.com
    }
    
    [domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM
  5. Esegui il seguente comando TSM per applicare le modifiche a Tableau Server:

    tsm pending-changes apply

    Se le modifiche in sospeso richiedono il riavvio del server, il comando pending-changes apply visualizzerà un messaggio per segnalare che verrà eseguito un riavvio. Questo messaggio viene visualizzato anche se il server è stato arrestato, ma in questo caso il riavvio non viene eseguito. Puoi eliminare la richiesta usando l’opzione --ignore-prompt, ma questo non modifica il comportamento del riavvio. Se le modifiche non richiedono un riavvio, vengono applicate senza visualizzare alcun messaggio. Per maggiori informazioni, consulta tsm pending-changes apply.