Aktivera Kerberos Kör som-autentisering för JDBC-kopplingar

Från och med version 2020.2 stöder Tableau Server Kerberos-autentisering för JDBC-kopplingar.

Du kan konfigurera Tableau Server till att använda ett Kerberos-tjänstkonto för att få åtkomst till en databas. I det här scenariot ansluter sig Tableau Server till databaser med ett tjänstkonto, även kallat ”Kör som tjänst-konto”. Det här scenariot kallas ”Kör som-autentisering”

Mer information finns i Kör som tjänst-konto.

Om du vill använda Kör som-autentisering på Tableau Server måste du först skapa en arbetsbok eller datakälla i Tableau Desktop som använder integrerad autentisering. När du publicerar på Tableau Server får du möjlighet att använda Kör som-autentisering. När du skapar en datakälla med webbredigering är Kör som-autentisering standardåtgärden om du väljer integrerad autentisering.

Datakällor som stöds

Tableau stöder JDBC Kerberos-delegering med följande datakällor:

  • Oracle
  • PostgreSQL

Om du konfigurerar Kör som-autentisering för en Oracle-datakälla med hjälp av en JDBC-baserad koppling ska du följa proceduren i det här avsnittet. Alternativt, om den anslutning som du kör på Tableau Server använder en inbyggd drivrutin behöver du inte följa stegen i det här avsnittet. Följ i stället stegen för att skapa ett Kör som tjänst-konto som enligt beskrivningen i avsnittet Ändra Kör som tjänst-konto.

Krav

Kerberos-delegering kräver Active Directory.

  • Tableau Server-informationsarkivet måste konfigureras så att det kan använda LDAP – Active Directory.
  • MIT KDC stöds inte.

Konfigurationsprocess

Det här avsnittet innehåller ett exempel på processen med att aktivera Kerberos Kör som-autentisering.

  1. Skapa en keytab-fil för Kör som tjänst-kontot.

    I följande exempel används verktyget ktab som medföljer JDK. Du kan ladda ned verktyget på AdoptOpenJDK(Länken öppnas i ett nytt fönster). När du använder ktab för att skapa keytab-filen så använd ett användarens huvudnamn i UPN-format vid inloggning (t.ex. service@EXAMPLE.COM) och inte ett tjänstens huvudnamn (t.ex. HTTP/service.example.com@EXAMPLE.COM). Du kan även generera keytab-filer med ktpass-verktyget, i vilket fall du kan använda båda typerna av huvudnamn.

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

    Tableau Server använder Kör som tjänst-kontot och tillhörande keytab-fil för att autentisera och göra en direktanslutning till databasen.

  2. Kopiera keytab-filen till Tableau Server-datakatalogen och verifiera att Kör som tjänst-kontot har åtkomst till och kan läsa keytab-filen. Tableau Server-datakatalogen är som standard C:\ProgramData\Tableau. Om du kör Tableau Server i en distribuerad driftsättning, så genomför det här steget på varje nod i klustret.

  3. Kör följande TSM-kommandon för att ange Kör som tjänst-kontot och sökvägen till nyckelfliksfilen:

    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

    I vissa fall kan TSM returnera ett fel som nämner --force-keys. Om du ställs inför det här felet, så kör kommandot igen med parametern --force-keys kopplad till argumentet.

  4. Skapa en krb5.conf-fil och installera i C:\Windows på alla Tableau Server-noder.

    Om du redan har distribuerat en krb5.ini-fil på datorer i din organisation, så kopiera den filen och använd den för Tableau Server. Mer information finns i avsnittet om MIT Kerberos-dokumentationen, krb5.conf(Länken öppnas i ett nytt fönster).

    Om du vill ändra konfigurationsfilens plats för Kerberos kör du följande TSM-kommando:

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

    Det följande är ett exempel på en krb5.conf-fil. Tableau Support kan inte hjälpa till med att skapa en krb5.conf-fil.

    [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. Kör följande TSM-kommando som tillämpar ändringarna på Tableau Server:

    tsm pending-changes apply

    Om de väntande ändringarna kräver att servern startas om visar kommandot pending-changes apply en kommandotolk så att du vet att en omstart kommer att ske. Kommandotolken visas även om servern stoppas, men i så fall sker ingen omstart. Du kan utelämna tolken med alternativet --ignore-prompt, men det påverkar inte omstartsbeteendet. Om ändringarna inte kräver omstart används de utan någon kommandotolk. Du hittar mer information i tsm pending-changes apply.