De verificatie 'Uitvoeren als' inschakelen voor Kerberos voor JDBC-connectors

Vanaf versie 2020.2 ondersteunt Tableau Server Kerberos-verificatie voor JDBC-connectors.

U kunt Tableau Server configureren om een Kerberos-serviceaccount te gebruiken voor toegang tot een database. In dit scenario maakt Tableau Server verbinding met databases via een serviceaccount, ook wel een Uitvoeren als service-account genoemd. Dit scenario wordt Uitvoeren als-verificatie genoemd

Zie 'Uitvoeren als service'-account.

Om Uitvoeren als-verificatie op Tableau Server te gebruiken, moet u eerst een werkmap of databron in Tableau Desktop maken die gebruikmaakt van geïntegreerde verificatie. Wanneer u publiceert naar Tableau Server, krijgt u de mogelijkheid om Uitvoeren als-verificatie te gebruiken. Wanneer u een databron maakt met webauthoring, is Uitvoeren als-verificatie de standaardbewerking als u geïntegreerde verificatie selecteert.

Ondersteunde databronnen

Tableau ondersteunt JDBC Kerberos-delegatie met de volgende databronnen:

  • Oracle
  • PostgreSQL

Als u Uitvoeren als-verificatie configureert voor een Oracle-databron met behulp van een JDBC-gebaseerde connector, volgt u de procedure in dit onderwerp. Als alternatief, als de connector die u op Tableau Server gebruikt, een native stuurprogramma gebruikt, hoeft u de stappen in dit onderwerp niet te volgen. Volg in plaats daarvan de stappen om een Uitvoeren als-serviceaccount te maken zoals beschreven in het onderwerp Het ’Uitvoeren als service’-account wijzigen.

Vereisten

Voor Kerberos-delegatie is Active Directory vereist.

  • Het Tableau Server-informatiearchief moet worden geconfigureerd voor gebruik van LDAP - Active Directory.
  • MIT KDC wordt niet ondersteund.

Configuratieproces

In dit gedeelte vindt u een voorbeeld van het proces om Kerberos Uitvoeren als-verificatie in te schakelen.

  1. Maak een keytab-bestand voor het Uitvoeren als service-account.

    In het volgende voorbeeld wordt de ktab-tool gebruikt die bij de JDK wordt geleverd. U kunt de tool downloaden op AdoptOpenJDK(Link wordt in een nieuw venster geopend). Wanneer u ktab gebruikt om de keytab te maken, gebruikt u een aanmeldingsprincipal in UPN-formaat (bijvoorbeeld service@EXAMPLE.COM), en geen Service Principal Name (bijvoorbeeld HTTP/service.example.com@EXAMPLE.COM). U kunt ook keytabs genereren met het ktpass-hulpprogramma. In dat geval kunt u beide typen principalnamen gebruiken.

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

    Tableau Server gebruikt het Uitvoeren als service-account en de bijbehorende keytab om te verifiëren en rechtstreeks verbinding te maken met de database.

  2. Kopieer de keytab naar de Tableau Server-datadirectory en controleer of het Uitvoeren als service-account toegang heeft tot het keytab-bestand en het kan lezen. Standaard bevindt de Tableau Server-datadirectory zich op C:\ProgramData\Tableau. Als u Tableau Server uitvoert in een gedistribueerde implementatie, voert u deze stap uit op elk knooppunt in het cluster.

  3. Voer de volgende TSM-opdrachten uit om het Uitvoeren als service-account en het pad naar het keytab-bestand in te stellen:

    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 sommige gevallen kan TSM een foutmelding retourneren waarin het volgende wordt vermeld: --force-keys. Als u deze fout krijgt, voer de opdracht dan opnieuw uit met de --force-keys-parameter toegevoegd aan het argument.

  4. Maak een krb5.conf-bestand en installeer het in C:\Windows op alle Tableau Server-knooppunten.

    Als u al een krb5.ini-bestand op computers in uw organisatie hebt geïmplementeerd, kopieert u dat bestand en gebruikt u het voor Tableau Server. Zie het onderwerp over krb5.conf(Link wordt in een nieuw venster geopend) in de MIT Kerberos-documentatie voor meer informatie.

    Om de locatie van het Kerberos-configuratiebestand te wijzigen, voert u de volgende TSM-opdracht uit:

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

    Hieronder ziet u een voorbeeld van een krb5.conf-bestand. Tableau-ondersteuning kan u niet helpen met het maken van 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. Voer de volgende TSM-opdracht uit om de wijzigingen toe te passen op Tableau Server:

    tsm pending-changes apply

    Als voor de in behandeling zijnde wijzigingen de Server opnieuw moet worden opgestart, geeft de opdracht pending-changes apply een prompt weer om u te laten weten dat de server opnieuw wordt gestart. Deze prompt verschijnt ook als de server is gestopt, maar in dat geval vindt er geen herstart plaats. U kunt de prompt onderdrukken met de optie --ignore-prompt, maar dit verandert niets aan het herstartgedrag. Als opnieuw opstarten niet nodig is voor de wijzigingen, worden de wijzigingen zonder waarschuwing van een prompt toegepast. Zie tsm pending-changes apply voor meer informatie.