Toegang tot het Kerberos-serviceaccount inschakelen

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-account genoemd.

Om Uitvoeren als-verificatie op Tableau Server te gebruiken, moet u eerst een werkmap of databron maken die gebruikmaakt van geïntegreerde verificatie. Wanneer gebruikers publiceren naar Tableau Server, krijgen ze de mogelijkheid om Uitvoeren als-verificatie te gebruiken. Als u een databron maakt met Tableau Server-webauthoring die geïntegreerde verificatie gebruikt, gebruikt de databron standaard Uitvoeren als-verificatie.

Opmerking: Geïntegreerde verificatie wordt ook wel Windows-verificatie genoemd op sommige connectors. In beide gevallen gebruikt Tableau Server Kerberos-verificatie.

Datatoegang met het Uitvoeren als service-account

Om Uitvoeren als-verificatie te kunnen gebruiken, heeft het Uitvoeren als-account lees- en querymachtigingen voor externe databases nodig. Zoals ontworpen hebben Tableau Server-gebruikers met de rol Creator of de rol Explorer (kan publiceren) volledige toegang tot het Uitvoeren als-account voor query's naar externe databases.

Een gebruiker met de rol Creator kan bijvoorbeeld alle databases bekijken waaraan toegang is verleend tot het Uitvoeren als service-account. Ze kunnen ook tabellen weergeven en aangepaste SQL uitvoeren.

Als de Creator-gebruiker de hostnaam van de database opgeeft en Geïntegreerde verificatie selecteert bij het maken van een nieuwe databron met webauthoring, worden de databases waaraan Uitvoeren als-toegang is verleend, aan de gebruiker weergegeven.

De weergaverechten voor databaseassets zijn niet beperkt tot gebruikers die verbinding maken met Tableau Server via webauthoring. Geavanceerde gebruikers, die dezelfde rollen hebben als hierboven vermeld en die kennis hebben van databaseservernamen, kunnen met Tableau Desktop werkmappen maken waarin databases worden weergegeven waaraan Uitvoeren als-toegang is verleend.

Aanbevelingen

Of gebruikerstoegang tot databases in deze scenario's acceptabel is, moet door uw organisatie worden beoordeeld. Door het gebruik en de reikwijdte van het Uitvoeren als service-account te beperken, wordt de kans op onbedoelde toegang van gebruikers tot database-inhoud over het algemeen kleiner. Als u het gebruik en de reikwijdte van het Uitvoeren als service-account beperkt, betekent dit echter mogelijk ook dat u en uw gebruikers meer referentiebeheer moeten uitvoeren.

Evalueer de volgende aanbevelingen in de context van uw zakelijke behoeften en beleidsregels voor datatoegang.

  • Zorg er allereerst voor dat u alle gebruikers vertrouwt die de rol Creator of Explorer (kan publiceren) hebben. U vertrouwt erop dat deze gebruikers op integere wijze acties in Tableau uitvoeren.
  • Als u niet alle gebruikers kunt vertrouwen die publicatierechten hebben voor databronnen die toegankelijk zijn via het Uitvoeren als service-account, kunt u overwegen om referenties voor die databronnen in te sluiten.
  • Als een databron niet is ingesteld voor automatische extractvernieuwingen, dat wil zeggen dat de databron primair wordt benaderd via een liveverbinding, kunt u mogelijk Kerberos-delegatie gebruiken. Zie Kerberos-delegatie inschakelen voor vereisten.

Vereisten

  • MIT Kerberos wordt niet ondersteund.
  • Het Uitvoeren als service-account moet leesrechten hebben voor de doeldatabase.

Configuratieproces

In dit gedeelte vindt u een voorbeeld van het proces om toegang tot Kerberos-serviceaccounts in te schakelen.

  1. Maak een domeingebruikersaccount dat fungeert als Uitvoeren als service-account. Dit account moet leesrechten hebben voor de doeldatabase.

    In het voorbeeld hier is het Uitvoeren als service-account User Principal met de naam tabsrv@example.com.

  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:

    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. De keytab moet leesbaar zijn voor de gebruiker zonder machtigingen. De standaardgebruiker zonder machtigingen die door Tableau Setup is gemaakt, is tableau.

    Als u een implementatie met meerdere knooppunten uitvoert, moet u de volgende opdrachten op elk knooppunt in het cluster uitvoeren:

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

    tsm configuration set -k features.RunAsAuthLinux -v true --force-keys
    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM --force-keys
    tsm configuration set -k native_api.datasource_runas_keytab_path -v /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab --force-keys			
  5. Voer de volgende TSM-opdracht uit om de wijzigingen toe te passen op de Tableau Server-implementatie:

    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.

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