Kerberos-delegatie inschakelen

Met Kerberos-delegatie kan Tableau Server de Kerberos-referenties van de kijker van een werkmap of weergave gebruiken om een query uit te voeren namens de kijker. Dit is handig in de volgende situaties:

  • U moet weten wie toegang heeft tot de data (de naam van de kijker wordt weergegeven in de toegangslogboeken voor de databron).

  • Uw databron is beveiligd op rijniveau, waarbij verschillende gebruikers toegang hebben tot verschillende rijen.

Ondersteunde databronnen

Tableau ondersteunt Kerberos-delegatie met de volgende databronnen:

  • Cloudera: Hive/Impala
  • Denodo
  • Hortonworks
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica

MSAS wordt niet ondersteund op Linux-platforms.

Vereisten

Voor Kerberos-delegatie is Active Directory vereist.

  • Het Tableau Server-identiteitenarchief moet worden geconfigureerd voor gebruik van Active Directory.
  • De computer waarop Tableau Server is geïnstalleerd, moet zijn gekoppeld aan het Active Directory-domein.
  • MIT Kerberos KDC wordt niet ondersteund.

Webauthoring en Kerberos-gebruikersverificatie

Wanneer u Verbinding maken met data voor een bepaald doel configureert, kunt u Geïntegreerde of Windows-verificatie selecteren als de voorkeursverificatiemethode. Voor webauthoringscenario's is het standaardgedrag echter om in plaats daarvan het Kerberos-serviceaccount ('Uitvoeren als'-account) te gebruiken.

Om gebruikersreferenties in te schakelen in webauthoringscenario's met Kerberos-delegatie, moet u een aanvullende configuratie uitvoeren met behulp van TSM. Voer de volgende opdrachten uit:

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

Nadat u deze configuratie hebt uitgevoerd, wordt Kerberos-delegatie de standaardbewerking wanneer u geïntegreerde verificatie met webauthoring selecteert. Deze instelling voorkomt echter niet dat makers van inhoud toegang krijgen tot het serviceaccount. Creators kunnen nog steeds inhoud publiceren die verbinding maakt met het Uitvoeren als service-account, via Tableau Desktop of andere methoden.

Voor meer informatie over het Uitvoeren als service-account raadpleegt u Toegang tot het Kerberos-serviceaccount inschakelen.

Configuratieproces

In dit gedeelte wordt een voorbeeld gegeven van het proces om Kerberos-delegatie in te schakelen. Het scenario bevat ook voorbeeldnamen om de relaties tussen de configuratie-elementen te beschrijven.

  1. Tableau Server heeft een Kerberos-serviceticket nodig om te delegeren namens de gebruiker die de aanroep naar de database initieert. U moet een domeinaccount aanmaken dat gebruikt wordt voor het delegeren naar de opgegeven database. Dit account wordt het Uitvoeren als service-account genoemd. In dit onderwerp is de voorbeeldgebruiker geconfigureerd als het delegatie-/Uitvoeren als-account tabsrv@example.com.

    Het account moet worden geconfigureerd met Active Directory-gebruikers en -computers op een Windows-server die is verbonden met het gebruikersdomein:

    • Open de pagina Eigenschappen voor het Uitvoeren als service-account, klik op het tabblad Delegatie en selecteer Deze gebruiker alleen vertrouwen voor delegering naar opgegeven services en Elk verificatieprotocol gebruiken.
  2. Maak een keytab-bestand voor het Uitvoeren als service-account.

    Met de volgende opdrachten wordt bijvoorbeeld een keytab (tabsrv-runas.keytab) gemaakt met behulp van de ktutil-tool:

    sudo ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    Versleutelingsschema's voor deze opdracht omvatten RC4-HMAC, aes128-cts-hmac-sha1-96 en aes256-cts-hmac-sha1-96. Raadpleeg uw IT-team voor het juiste versleutelingsschema voor uw omgeving en databron.

    ktutil:  wkt tabsrv-runas.keytab

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

  3. Kopieer de keytab naar de Tableau Server-datadirectory en stel de juiste eigendomsrechten en machtigingen in. Als u een implementatie met meerdere knooppunten uitvoert, moet u de volgende opdrachten op elk knooppunt in het cluster uitvoeren.

    mkdir /var/opt/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/keytab                 
    sudo chown $USER /var/opt/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/keytab/tabsrv-runas.keytab 
    					
  4. Voer de volgende TSM-opdrachten uit om Kerberos-delegatie in te schakelen, het delegatieserviceaccount in te stellen en het keytab-bestand aan het serviceaccount te koppelen:

    					
    tsm configuration set -k wgserver.delegation.enabled -v true
    tsm configuration set -k native_api.datasource_impersonation_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_impersonation_runas_keytab_path -v /var/opt/keytab/tabsrv-runas.keytab
    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true

    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.

  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.

  6. Delegatie voor dataverbindingen inschakelen:

    Zie ook

    Problemen met Kerberos oplossen

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.