Brug Kerberos til SSO til SAP HANA

Vigtigt

Da SAP ikke længere understøtter OpenSSL, har Microsoft også afbrudt supporten. Dine eksisterende forbindelser fungerer fortsat, men du kan ikke længere oprette nye forbindelser. Brug i stedet SAP Cryptographic Library (CommonCryptoLib) eller sapcrypto.

I denne artikel beskrives det, hvordan du konfigurerer din SAP HANA-datakilde for at aktivere enkeltlogon (SSO) fra Power BI-tjeneste.

Bemærk

Før du forsøger at opdatere en SAP HANA-baseret rapport, der bruger Kerberos SSO, skal du fuldføre trinnene i både denne artikel og Konfigurer Kerberos SSO.

Aktivér SSO for SAP HANA

Benyt følgende fremgangsmåde for at aktivere SSO for SAP HANA:

  1. Sørg for, at SAP HANA-serveren kører den påkrævede minimumversion, hvilket afhænger af dit SAP HANA-serverplatformsniveau:

  2. Installer den nyeste SAP HANA ODBC-driver på gatewaycomputeren. Minimumversionen er HANA ODBC version 2.00.020.00 fra august 2017.

  3. Sørg for, at SAP HANA-serveren er konfigureret til Kerberos-baseret SSO. Du kan få flere oplysninger om konfiguration af SSO til SAP HANA ved hjælp af Kerberos under Enkeltlogon ved hjælp af Kerberos. Se også linkene fra denne side, især SAP Note 1837331 – HOWTO HANA DBSSO Kerberos/Active Directory.

Vi anbefaler også, at du følger disse ekstra trin, hvilket kan give en mindre forbedring af ydeevnen:

  1. I installationsmappen for gatewayen skal du søge efter og åbne denne konfigurationsfil: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. Søg efter egenskaben FullDomainResolutionEnabled , og skift dens værdi til True.

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

Fejlfinde

Dette afsnit indeholder instruktioner til fejlfinding ved hjælp af Kerberos til enkeltlogon (SSO) til SAP HANA i Power BI-tjeneste. Ved hjælp af disse fejlfindingstrin kan du selv diagnosticere og løse mange problemer, som du muligvis står over for.

Hvis du vil følge trinnene i dette afsnit, skal du indsamle gatewaylogge.

TLS/SSL-fejl (certifikat)

Dette problem har flere symptomer.

  • Når du forsøger at tilføje en ny datakilde, får du muligvis vist en fejl som følgende meddelelse:

    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 forsøger at oprette eller opdatere en rapport, får du muligvis vist følgende fejlmeddelelse:

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

  • Når du undersøger Mashup[date]*.log, får du vist følgende fejlmeddelelse:

    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.
    

Løsning

Du kan løse denne TLS/SSL-fejl ved at gå til datakildeforbindelsen og derefter deaktivere indstillingen i afsnittet Valider servercertifikat som vist på følgende billede:

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

Når du har deaktiveret denne indstilling, vises fejlmeddelelsen ikke længere.

Personifikation

Logposter til repræsentation indeholder poster, der ligner:

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

Det vigtige element i denne post i logfilen er de oplysninger, der vises efter posten ImpersonationLevel: . Enhver værdi, der adskiller sig fra Impersonation , viser, at repræsentationen ikke forekommer korrekt.

Løsning

Du kan konfigurere ImpersonationLevel korrekt ved at følge instruktionerne i Tildel gatewaytjenestekontoen lokale politikrettigheder på gatewayen.

Når du har ændret konfigurationsfilen, skal du genstarte gatewaytjenesten, så ændringen træder i kraft.

Validering

Opdater eller opret rapporten, og indsaml derefter gatewayloggene. Åbn den nyeste GatewayInfo-fil , og kontrollér følgende streng: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation). Sørg for, at indstillingen ImpersonationLevel returnerer Impersonation.

Delegering

Delegeringsproblemer vises normalt i Power BI-tjeneste som generiske fejl. Hvis du vil sikre dig, at problemet ikke er et delegeringsproblem, skal du indsamle Wireshark-sporinger og bruge Kerberos som et filter. Du kan få mere at vide om Wireshark og få oplysninger om Kerberos-fejl under Kerberos-fejl i netværkshentning.

Følgende symptomer og fejlfindingstrin kan hjælpe med at løse nogle almindelige problemer.

SPN-problemer

Hvis du får vist følgende fejl: The import [table] matches no exports. Did you miss a module reference?: Når du undersøger Mashup[date]*.log, oplever du problemer med tjenesteprincipalnavnet (SPN).

Når du undersøger yderligere ved hjælp af Wireshark-sporinger, får du vist fejlen KRB4KDC_ERR_S_PRINCIPAL_UNKOWN, hvilket betyder, at SPN'et ikke blev fundet eller ikke findes. På følgende billede vises et eksempel:

Screenshot showing a service principal name error.

Løsning

Hvis du vil løse SPN-problemer som dette problem, skal du føje et SPN til en tjenestekonto. Du kan få flere oplysninger i SAP-dokumentationen i Konfigurer Kerberos til SAP HANA-databaseværter.

Derudover skal du følge de løsningsinstruktioner, der er beskrevet i næste afsnit.

Der er ingen problemer med legitimationsoplysninger

Der er muligvis ikke tydelige symptomer forbundet med dette problem. Når du undersøger Mashup[date]*.log, får du vist følgende fejl:

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øger den samme fil yderligere, vises følgende (uhensigtsmæssige) fejl:

No credentials are available in the security package

Registrering af Wireshark-sporinger viser følgende fejl: KRB5KDC_ERR_BADOPTION.

Screenshot showing a 'No credentials error'.

Normalt betyder disse fejl, at SPN hdb/hana2-s4-sso2.westus2.cloudapp.azure.com-filen blev fundet, men ikke findes i de tjenester, som denne konto kan præsentere delegerede legitimationsoplysningerfor i ruden Delegering i gatewaytjenestekontoen.

Løsning

Du kan løse problemet Ingen legitimationsoplysninger ved at følge de trin, der er beskrevet i Konfigurer begrænset Kerberos-delegering. Når delegeringsfanen på gatewaytjenestekontoen er fuldført korrekt, afspejles HdB-filen (HansaWorld Database) og det fuldt kvalificerede domænenavn (FQDN) på listen over tjenester, som denne konto kan give delegerede legitimationsoplysninger til.

Validering

Hvis du følger de foregående trin, skal du løse problemet. Hvis du stadig oplever Kerberos-problemer, kan du have en forkert konfiguration i Power BI-gatewayen eller i selve HANA-serveren.

Fejl i legitimationsoplysninger

Hvis du oplever fejl i legitimationsoplysninger, viser fejl i loggene eller sporinger fejl, der beskriver Credentials are invalid eller lignende fejl. Disse fejl kan manifestere sig forskelligt på datakildesiden af forbindelsen, f.eks. SAP HANA. På følgende billede vises et eksempel på en fejl:

Screenshot showing an invalid credentials error.

Symptom 1

I HANA-godkendelsessporinger kan du se poster, der ligner følgende meddelelse:

[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

Løsning

Følg vejledningen, der er beskrevet i Angiv konfigurationsparametre for brugertilknytning på gatewaycomputeren, også selvom du allerede har konfigureret Tjenesten Microsoft Entra Forbind.

Validering

Når du har fuldført valideringen, kan du indlæse rapporten i Power BI-tjeneste.

Symptom 2

I HANA-godkendelsessporinger kan du se poster, der ligner følgende 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!

Løsning

Kontrollér det eksterne Kerberos-id under HANA-brugeren for at finde ud af, om id'erne stemmer overens korrekt.

Validering

Når du har løst problemet, kan du oprette eller opdatere rapporter i Power BI-tjeneste.

Du kan finde flere oplysninger om datagatewayen i det lokale miljø og DirectQuery i følgende ressourcer: