Problemen met Kerberos oplossen
De suggesties voor probleemoplossing in dit onderwerp zijn onderverdeeld in problemen met eenmalige aanmelding (SSO) op de server en problemen met de gedelegeerde databronnen.
Eenmalige aanmelding bij Tableau Server
In een Kerberos SSO-omgeving kan een gebruiker die zich via een webbrowser of Tableau Desktop aanmeldt bij Tableau Server, een bericht zien dat aangeeft dat Tableau Server hem of haar niet automatisch kan aanmelden (met behulp van eenmalige aanmelding). Het voorstel is om in plaats daarvan een gebruikersnaam en wachtwoord voor Tableau Server op te geven.
Problemen met aanmeldingsfouten op de clientcomputer oplossen
De gebruikersnaam en het wachtwoord invoeren: om de algemene toegang van de gebruiker tot Tableau Server te controleren, meldt u zich aan door de naam en het wachtwoord van de gebruiker in te voeren.
Als deze referenties niet kloppen, is de gebruiker mogelijk geen gebruiker op Tableau Server. Om Kerberos SSO te laten werken, moet de gebruiker toegang hebben tot Tableau Server en moet hij/zij een Ticket Granting Ticket (TGT) van Active Directory hebben gekregen (zoals beschreven in het item TGT verderop in deze lijst).
De SSO-referenties van andere gebruikers controleren: probeer verbinding te maken met SSO met Tableau Server via andere gebruikersaccounts. Als alle gebruikers getroffen zijn, ligt het probleem mogelijk in de Kerberos-configuratie.
Een andere computer gebruiken dan de servercomputer: Kerberos SSO werkt niet wanneer u zich aanmeldt bij Tableau Server op localhost. Clients moeten verbinding maken vanaf een andere computer dan de Tableau Server-computer.
Een servernaam gebruiken, geen IP-adres: Kerberos SSO werkt niet als u een IP-adres invoert als de Tableau Server-naam. Bovendien moet de servernaam die u gebruikt om toegang te krijgen tot Tableau Server overeenkomen met de naam die wordt gebruikt in de Kerberos-configuratie (zie Sleuteltabel-invoer, onderstaand).
Bevestigen dat de client TGT heeft: de clientcomputer moet een TGT (Ticket Granting Ticket) hebben van het Active Directory-domein. Beperkte delegatie, waarbij de proxy een ticket toekent, wordt niet ondersteund.
Om te bevestigen dat de clientcomputer een TGT heeft, doet u het volgende:
Open in Windows een opdrachtprompt en typ het volgende:
klist tgt
Open op de Mac een terminalvenster en typ het volgende:
klist
De uitvoer zou een TGT moeten tonen voor de gebruiker die/het domein dat probeert te verifiëren bij Tableau Server.
In de volgende gevallen heeft de clientcomputer mogelijk geen TGT:
De clientcomputer maakt gebruik van een VPN-verbinding.
De clientcomputer is niet aan het domein toegevoegd (bijvoorbeeld omdat het een computer is die niet van het werk is, maar die wel op het werk wordt gebruikt).
De gebruiker heeft zich op de computer aangemeld met een lokaal (niet-domein) account.
De computer is een Mac die Active Directory niet als netwerkaccountserver gebruikt.
Browserversie en instellingen bevestigen: zorg ervoor dat bij het aanmelden via een webbrowser de browser Kerberos ondersteunt en, indien nodig, correct is geconfigureerd.
Internet Explorer (IE) en Chrome werken 'kant en klaar' op Windows.
Safari werkt 'kant en klaar' op de Mac.
Firefox vereist aanvullende configuratie.
Voor meer informatie, zie Tableau-clientondersteuning voor Kerberos SSO.
Problemen met aanmeldingsfouten op de server oplossen
Als u het probleem niet kunt oplossen vanaf de clientcomputer, voert u de volgende stappen uit om het probleem op te lossen op de computer waarop Tableau Server wordt uitgevoerd. De beheerder kan de aanvraag-ID gebruiken om de aanmeldpoging te vinden in de Apache-logboeken op Tableau Server.
Logbestanden: controleer het Apache error.log op een fout met de exacte tijd/datum van de mislukte aanmeldpoging.
In een ziplogarchief bevinden deze logboeken zich in de map \httpd.
Op Tableau Server bevinden deze logboeken zich in de map \data\tabsvc\logs\httpd\.
Sleuteltabel-invoer: als de error.log-invoer het bericht bevat: 'Geen sleuteltabelinvoer die overeenkomt met HTTP/<servername> .<domain> .<org> @', bijvoorbeeld:
[Fri Oct 24 10:58:46.087683 2014] [:error] [pid 2104:tid 4776] [client 10.10.1.62:56789] gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, No key table entry found matching HTTP/servername.domain.com@)
Deze fout is het gevolg van een discrepantie van een van de volgende:
URL van Tableau-server: de URL die door de clientcomputer wordt gebruikt om toegang te krijgen tot de server.
Dit is de naam die u typt in Tableau Desktop of in de adresbalk van een browser. Het zou een korte naam kunnen zijn (
http://servername
) of een volledig gekwalificeerde domeinnaam (http://servername.domain.com
)DNS-omgekeerd opzoeken voor het IP-adres van de server.
Hiermee wordt een DNS-naam opgezocht met behulp van een IP-adres.
Typ bij een opdrachtprompt het volgende in:
ping servername
met het IP-adres dat wordt geretourneerd door het pingen van de server, voer een omgekeerde DNS-opzoekactie uit van het type:
nslookup <ip address>
De opdracht nslookup retourneert netwerkinformatie voor het IP-adres. In het gedeelte Niet-gezaghebbend antwoord van het antwoord controleert u of de volledig gekwalificeerde domeinnaam (FQDN) overeenkomt met de volgende geconfigureerde waarden:
Het Kerberos .keytab-bestand
Service Principal Name (SPN) voor de server
Voor meer informatie over het configureren van deze waarden, zie De basisprincipes van keytab-vereisten.
Kerberos-configuratiescript controleren
Mogelijk moet u de opdracht ktpass aanpassen die u hebt gebruikt om het keytab-bestand te genereren voor omgevingsvariabelen. Bekijk de stappen voor probleemoplossing in het knowledgebase-artikel, Kan geen Kerberos-scriptconfiguratie voor Tableau Server genereren(Link wordt in een nieuw venster geopend).
SSO voor databron
Gedelegeerde toegang tot databronnen mislukt
Controleer de vizqlserver-logbestanden op 'workgroup-auth-mode'.
In een ziplogarchief bevinden deze logs zich in de map \vizqlserver\Logs
Op de Tableau Server bevinden deze logboeken zich in de map \data\tabsvc\vizqlserver\Logs
Zoek naar workgroup-auth-mode in de logbestanden. Er zou 'kerberos-impersonate' moeten staan, niet 'as-is'.
Kerberos-delegatie multi-domeinconfiguratie
Tableau Server kan gebruikers delegeren vanuit andere Active Directory-domeinen. Als uw database MIT Kerberos gebruikt, moet u mogelijk uw Kerberos-principal aanpassen aan de databasegebruikerstoewijzing. U moet krb5.conf specifiek bijwerken met regels voor elk Kerberos-realm waarmee gebruikers verbinding maken. Gebruik de tag auth_to_local
in de sectie [realms]
om hoofdnamen toe te wijzen aan lokale gebruikersnamen.
Denk bijvoorbeeld aan een gebruiker, EXAMPLE\jsmith
, waarvan Kerberos Principal jsmith@EXAMPLE.LAN
is. In dit geval zal Tableau Server een gedelegeerde gebruiker specificeren, jsmith@EXAMPLE
. Tableau Server gebruikt de verouderde domeinalias van Active Directory als Kerberos Realm.
De doeldatabase heeft mogelijk al een regel zoals de volgende om de gebruiker jsmith@EXAMPLE.LAN
toe te wijzen aan de databasegebruiker, jsmith
.
EXAMPLE.LAN = {
RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
DEFAULT
}
Ter ondersteuning van delegatie moet u een andere regel toevoegen om jsmith@EXAMPLE toe te wijzen aan een databasegebruiker:
EXAMPLE.LAN = {
RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
RULE:[1:$1@$0](.*@EXAMPLE)s/@.*//
DEFAULT
}
Zie het onderwerp krb5.conf(Link wordt in een nieuw venster geopend) van de MIT Kerberos-documentatie voor meer informatie.
Cross-domein beperkte delegatie
In sommige cross-domeinscenario's waarbij de KDC op een Windows Server vóór Windows 2012 draait, kan de delegatie mislukken. Mogelijke fouten zijn:
- SQL Server-netwerkinterfaces: het systeem kan geen contact maken met een domeincontroller om het verificatieverzoek te verwerken. Probeer het later opnieuw.
- SQL Server systeemeigen client: kan geen SSPI-context genereren.
- De domeincontroller retourneert:
KRB-ERR-POLICY error with a status STATUS_CROSSREALM_DELEGATION_FAILURE (0xc000040b)
.
Cross-domein verwijst naar een scenario waarin Tableau Server wordt uitgevoerd in een ander domein dan de databron met verschillende serviceaccounts. Bijvoorbeeld:
- Tableau Server draait op DomeinA met DomeinA-serviceaccount.
- SQL Server wordt uitgevoerd op DomeinB met een DomeinB-serviceaccount.
Traditionele beperkte delegatie werkt alleen als beide servers zich in hetzelfde domein bevinden. De gebruiker kan afkomstig zijn uit andere domeinen.
Als u de hierboven genoemde fouten ziet, moet uw Active Directory-beheerder alle traditionele beperkte delegatie verwijderen die is geconfigureerd op het delegerende account om dit scenario mogelijk te maken. U kunt de delegatie verwijderen met Active Directory-beheertools of door de waarden te verwijderen die zijn gekoppeld aan de Active Directory-eigenschap, msDS-AllowedToDelegateTo.
Als u een bestaande delegatie voor één domein wilt behouden naast delegatie voor meerdere domeinen, moet u beide configureren met behulp van resourcegebaseerde beperkte delegatie.
Voor meer informatie over Kerberos en beperkte delegatie, zie het Microsoft-onderwerp Overzicht van beperkte Kerberos-delegatie(Link wordt in een nieuw venster geopend).
Webauthoring
Er zijn twee scenario's voor webauthoring die geen Kerberos-delegatie ondersteunen: de functies 'Verbinding maken met data op het web' en 'Databron op het web maken' ondersteunen nog geen delegatie. Als u een databron maakt die Kerberos gebruikt met webauthoring, gebruikt de databron verificatie via het Run As-serviceaccount. Als u Kerberos-delegatie wilt gebruiken om een databron te maken, moet u publiceren met Tableau Desktop.