Dela via


Använda Kerberos för enkel inloggning till SAP HANA

Viktigt!

Eftersom SAP inte längre stöder OpenSSL har Microsoft också upphört med sin support. Dina befintliga anslutningar fortsätter att fungera, men du kan inte längre skapa nya anslutningar. Använd SAP Cryptographic Library (CommonCryptoLib) eller sapcrypto i stället.

I den här artikeln beskrivs hur du konfigurerar SAP HANA-datakällan för att aktivera enkel inloggning (SSO) från Power BI-tjänst.

Kommentar

Innan du försöker uppdatera en SAP HANA-baserad rapport som använder Enkel inloggning med Kerberos ska du utföra stegen i både den här artikeln och Konfigurera enkel inloggning med Kerberos.

Aktivera enkel inloggning för SAP HANA

Gör följande för att aktivera enkel inloggning för SAP HANA:

  1. Kontrollera att SAP HANA-servern kör den lägsta version som krävs, vilket beror på din SAP HANA-serverplattformsnivå:

  2. Installera den senaste SAP HANA ODBC-drivrutinen på gatewaydatorn. Den lägsta versionen är HANA ODBC version 2.00.020.00 från augusti 2017.

  3. Kontrollera att SAP HANA-servern har konfigurerats för Kerberos-baserad enkel inloggning. Mer information om hur du konfigurerar enkel inloggning för SAP HANA med hjälp av Kerberos finns i Enkel inloggning med Kerberos. Se även länkarna från den sidan, särskilt SAP Note 1837331 – HOWTO HANA DBSSO Kerberos/Active Directory.

Vi rekommenderar också att du följer dessa extra steg, vilket kan ge en liten prestandaförbättring:

  1. Leta efter och öppna konfigurationsfilen i gatewayinstallationskatalogen: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. Leta efter egenskapen FullDomainResolutionEnabled och ändra dess värde till True.

    <setting name=" FullDomainResolutionEnabled " serializeAs="String">
          <value>True</value>
    </setting>
    
  3. Kör en Power BI-rapport.

Felsöka

Det här avsnittet innehåller anvisningar för felsökning med Kerberos för enkel inloggning (SSO) till SAP HANA i Power BI-tjänst. Med hjälp av de här felsökningsstegen kan du själv diagnostisera och korrigera många problem som du kan stöta på.

Om du vill följa stegen i det här avsnittet måste du samla in gatewayloggar.

TLS/SSL-fel (certifikat)

Det här problemet har flera symtom.

  • När du försöker lägga till en ny datakälla kan du se ett fel som liknar följande meddelande:

    Unable to connect: We encountered an error while trying to connect to.
    Details: "We could not register this data source for any gateway
    instances within this cluster.
    Please find more details below about specific errors for each gateway instance."
    
  • När du försöker skapa eller uppdatera en rapport kan följande felmeddelande visas:

    Screenshot of a 'Cannot load model' troubleshooting TLS/SSL error window.

  • När du undersöker Mashup[date]*.log visas följande felmeddelande:

    A connection was successfully established with the server, 
    but then an error occurred during the login process and 
    the certificate chain was issued by an authority that is not trusted.
    

Åtgärd

Lös det här TLS/SSL-felet genom att gå till datakällanslutningen och sedan inaktivera inställningen i avsnittet Verifiera servercertifikat enligt följande bild:

 Screenshot of resolving TLS/SSL error window by disabling the certificate.

När du har inaktiverat den här inställningen visas inte längre felmeddelandet.

Personifiering

Loggposter för personifiering innehåller poster som liknar:

About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).

Det viktiga elementet i den här loggposten är den information som visas efter ImpersonationLevel: posten. Alla värden som skiljer sig från Impersonation visar att personifiering inte sker korrekt.

Åtgärd

Du kan konfigurera ImpersonationLevel korrekt genom att följa anvisningarna i Bevilja gatewaytjänstkontots lokala principrättigheter på gatewayen.

När du har ändrat konfigurationsfilen startar du om gatewaytjänsten för att ändringen ska börja gälla.

Verifiering

Uppdatera eller skapa rapporten och samla sedan in gatewayloggarna. Öppna den senaste GatewayInfo-filen och kontrollera följande sträng: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation). Kontrollera att inställningen ImpersonationLevel returnerar Impersonation.

Delegering

Delegeringsproblem visas vanligtvis i Power BI-tjänst som allmänna fel. Om du vill se till att problemet inte är ett delegeringsproblem samlar du in Wireshark-spårningar och använder Kerberos som filter. Mer information om Wireshark och information om Kerberos-fel finns i Kerberos-fel i nätverksinsamlingar.

Följande symptom och felsökningssteg kan hjälpa dig att åtgärda några vanliga problem.

SPN-problem

Om du ser följande fel: The import [table] matches no exports. Did you miss a module reference?: när du undersöker Mashup[date]*.log har du problem med tjänstens huvudnamn (SPN).

När du undersöker ytterligare med hjälp av Wireshark-spårningar visar du felet KRB4KDC_ERR_S_PRINCIPAL_UNKOWN, vilket innebär att SPN inte hittades eller inte finns. Följande bild visar ett exempel:

Screenshot showing a service principal name error.

Åtgärd

För att lösa SPN-problem som det här problemet måste du lägga till ett SPN till ett tjänstkonto. Mer information finns i SAP-dokumentationen i Konfigurera Kerberos för SAP HANA-databasvärdar.

Följ dessutom de lösningsinstruktioner som beskrivs i nästa avsnitt.

Inga problem med autentiseringsuppgifter

Det kanske inte finns några tydliga symtom som är associerade med det här problemet. När du undersöker Mashup[date]*.log visas följande fel:

29T20:21:34.6679184Z","Action":"RemoteDocumentEvaluator/RemoteEvaluation/HandleException","HostProcessId":"1396","identity":"DirectQueryPool","Exception":"Exception:\r\nExceptionType: Microsoft.Mashup.Engine1.Runtime.ValueException, Microsoft.MashupEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\r\nMessage:

När du undersöker samma fil ytterligare visas följande (ohjälpsamma) fel:

No credentials are available in the security package

Om du samlar in Wireshark-spårningar visas följande fel: KRB5KDC_ERR_BADOPTION.

Screenshot showing a 'No credentials error'.

Dessa fel innebär vanligtvis att FILEN SPN hdb/hana2-s4-sso2.westus2.cloudapp.azure.com kunde hittas men inte finns i de tjänster som kontot kan visa delegerade autentiseringsuppgifter till i fönstret Delegering i gatewaytjänstkontot.

Åtgärd

Lös problemet Inga autentiseringsuppgifter genom att följa stegen som beskrivs i Konfigurera Kerberos-begränsad delegering. När delegeringsfliken har slutförts korrekt på gatewaytjänstkontot visas HDB-filen (HansaWorld Database) och det fullständigt kvalificerade domännamnet (FQDN) i listan över tjänster som det här kontot kan presentera delegerade autentiseringsuppgifter för.

Verifiering

Du bör lösa problemet genom att följa stegen ovan. Om du fortfarande får Kerberos-problem kan du ha en felkonfiguration i Power BI-gatewayen eller på SJÄLVA HANA-servern.

Autentiseringsfel

Om du får autentiseringsuppgifter visas fel i loggarna eller spårningarna som beskriver Credentials are invalid eller liknande fel. Dessa fel kan visa sig på olika sätt på datakällans sida av anslutningen, till exempel SAP HANA. Följande bild visar ett exempelfel:

Screenshot showing an invalid credentials error.

Symptom 1

I HANA-autentiseringsspårningar kan du se poster som liknar följande meddelande:

[Authentication|manager.cpp:166] Kerberos: Using Service Principal 
Name johnny@contoso.com@CONTOSO.COM with name type: GSS_KRB5_NT_PRINCIPAL_NAME 
[Authentication|methodgssinitiator.cpp:367] Got principal name: 
johnny@contoso.com@CONTOSO.COM

Åtgärd

Följ anvisningarna som beskrivs i Ange konfigurationsparametrar för användarmappning på gatewaydatorn, även om du redan har konfigurerat Microsoft Entra Anslut-tjänsten.

Verifiering

När du har slutfört verifieringen kan du läsa in rapporten i Power BI-tjänst.

Symptom 2

I HANA-autentiseringsspårningar kan du se poster som liknar följande post:

Authentication ManagerAcceptor.cpp(00233) : Extending list of expected
external names by johnny@CONTOSO.COM (method: GSS) Authentication 
AuthenticationInfo.cpp(00168) : ENTER getAuthenticationInfo 
(externalName=johnny@CONTOSO.COM) Authentication AuthenticationInfo.cpp(00237) : 
Found no user with expected external name!

Åtgärd

Kontrollera kerberos externa ID under HANA-användare för att avgöra om ID:n matchar korrekt.

Verifiering

När du har löst problemet kan du skapa eller uppdatera rapporter i Power BI-tjänst.

Mer information om den lokala datagatewayen och DirectQuery finns i följande resurser: