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
  • MSAS
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica
  • TIBCO

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.
  • Een domeinaccount moet worden geconfigureerd als Uitvoeren als service-account op Tableau Server. Zie Het ’Uitvoeren als service’-account wijzigen. Als uw gebruikers zich in een ander Active Directory-domein bevinden dan Tableau Server en de databron, moet het domeinvertrouwen worden geconfigureerd. Zie Vereisten voor domeinvertrouwen voor Active Directory-implementaties.
  • Delegatie geconfigureerd. Verleen delegatierechten voor het Uitvoeren als service-account aan de Service Principal Names (SPN's) van de doeldatabase. Het Uitvoeren als service-account is een gedelegeerde bevoegdheid om namens de initiërende brongebruiker toegang te krijgen tot resources.
  • Als u delegatie configureert op Tableau Server 2020.2 of later met een Oracle-databron met behulp van een JDBC-gebaseerde connector, raadpleegt u Kerberos-delegatie voor JDBC-connectoren inschakelen. Vanaf Tableau 2020.2 maakt de Oracle-connector gebruik van JDBC.

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 Datatoegang met het ’Uitvoeren als service’-account.

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. Configureer op alle knooppunten in Tableau Server de functie Uitvoeren als gebruiker als onderdeel van het besturingssysteem. Zie ‘Uitvoeren als service’-account inschakelen om als besturingssysteem te fungeren.

  2. 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.
  3. Voer de volgende opdracht uit om Kerberos-delegatie in te schakelen:

    tsm configuration set -k wgserver.delegation.enabled -v true

  4. 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.

  5. (Optioneel) Configureer Tableau Server om de MIT Kerberos-principalindeling te gebruiken.

    Tableau Server genereert standaard Kerberos-principals met behulp van de korte naam van Active Directory. Als Tableau Server bijvoorbeeld Kerberos-delegatie uitvoert voor een gebruiker in EXAMPLE.COM, met een korte naam EXAMPLE, dan is de principalnaam: user@example.

    Als uw database op Linux draait, moet u mogelijk de auth_to_local-toewijzing in krb5.conf aanpassen. Zie Kerberos-delegatie multi-domeinconfiguratie voor informatie over het bewerken van het krb5.conf-bestand. U kunt Tableau Server ook configureren om de volledige domeinnaam te gebruiken voor Kerberos-principals door de volgende opdrachten uit te voeren:

    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false --force-keys
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true --force-keys
    tsm pending-changes apply
  6. Delegatie voor dataverbindingen inschakelen:

    Zie ook

    Problemen met Kerberos oplossen

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