Bruk Kerberos for SSO til SAP HANA

Viktig

Siden SAP ikke lenger støtter OpenSSL, har Microsoft også fjernet støtten. De eksisterende tilkoblingene fortsetter å fungere, men du kan ikke lenger opprette nye tilkoblinger. Bruk SAP Cryptographic Library (CommonCryptoLib) eller sapcrypto i stedet.

Denne artikkelen beskriver hvordan du konfigurerer SAP HANA-datakilden til å aktivere enkel pålogging (SSO) fra Power Bi-tjeneste.

Merk

Før du prøver å oppdatere en SAP HANA-basert rapport som bruker Kerberos SSO, må du fullføre trinnene i både denne artikkelen og Konfigurere Kerberos SSO.

Aktiver SSO for SAP HANA

Gjør følgende for å aktivere SSO for SAP HANA:

  1. Sørg for at SAP HANA-serveren kjører den nødvendige minimumsversjonen, som avhenger av SAP HANA-serverplattformnivået:

  2. Installer den nyeste SAP HANA ODBC-driveren på gateway-datamaskinen. Minimumsversjonen er HANA ODBC versjon 2.00.020.00 fra august 2017.

  3. Kontroller at SAP HANA-serveren er konfigurert for Kerberos-basert SSO. Hvis du vil ha mer informasjon om hvordan du konfigurerer SSO for SAP HANA ved hjelp av Kerberos, kan du se Enkel pålogging ved hjelp av Kerberos. Se også koblingene fra denne siden, spesielt SAP Note 1837331 – HOWTO HANA DBSSO Kerberos/Active Directory.

Vi anbefaler også å følge disse ekstra trinnene, som kan gi en liten ytelsesforbedring:

  1. Se etter og åpne denne konfigurasjonsfilen i installasjonskatalogen for gatewayen: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. FullDomainResolutionEnabled Se etter egenskapen, og endre verdien til True.

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

Feilsøk

Denne delen inneholder instruksjoner for feilsøking ved hjelp av Kerberos for enkel pålogging (SSO) til SAP HANA i Power Bi-tjeneste. Ved å bruke disse feilsøkingstrinnene kan du selv diagnostisere og rette opp mange problemer du kanskje står overfor.

Hvis du vil følge trinnene i denne delen, må du samle gatewaylogger.

TLS/SSL-feil (sertifikat)

Dette problemet har flere symptomer.

  • Når du prøver å legge til en ny datakilde, kan det hende du ser en feilmelding som følgende melding:

    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 prøver å opprette eller oppdatere en rapport, kan det hende du ser følgende feilmelding:

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

  • Når du undersøker Mashup[date]*.log, ser du følgende feilmelding:

    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

Hvis du vil løse denne TLS/SSL-feilen, går du til datakildetilkoblingen , og deretter deaktiverer du innstillingen i delen Valider serversertifikat, som vist på følgende bilde:

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

Når du har deaktivert denne innstillingen, vises ikke lenger feilmeldingen.

Representasjon

Loggoppføringer for representasjon inneholder oppføringer som ligner på:

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

Det viktige elementet i denne loggoppføringen er informasjonen som vises etter ImpersonationLevel: oppføringen. Enhver verdi som er forskjellig fra Impersonation , viser at representasjon ikke forekommer riktig.

Løsning

Du kan konfigurere ImpersonationLevel på riktig måte ved å følge instruksjonene i Gi gateway-tjenestekontoen lokale policyrettigheter på gatewayen.

Når du har endret konfigurasjonsfilen, starter du gateway-tjenesten på nytt for at endringen skal tre i kraft.

Validering

Oppdater eller opprett rapporten, og samle deretter inn gatewayloggene. Åpne den nyeste GatewayInfo-filen , og kontroller følgende streng: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation). Kontroller at ImpersonationLevel innstillingen returnerer Impersonation.

Delegering

Delegeringsproblemer vises vanligvis i Power Bi-tjeneste som generiske feil. For å sikre at problemet ikke er et delegeringsproblem, samler du inn Wireshark-sporinger og bruker Kerberos som filter. Hvis du vil ha mer informasjon om Wireshark og informasjon om Kerberos-feil, kan du se Kerberos-feil i nettverksopptak.

Følgende symptomer og feilsøkingstrinn kan bidra til å løse noen vanlige problemer.

SPN-problemer

Hvis du ser følgende feil: The import [table] matches no exports. Did you miss a module reference?: Når du undersøker Mashup[date]*.log, opplever du problemer med tjenestehovednavn (SPN).

Når du undersøker nærmere ved hjelp av Wireshark-sporinger, viser du feilen KRB4KDC_ERR_S_PRINCIPAL_UNKOWN, noe som betyr at SPN ikke ble funnet eller ikke finnes. Følgende bilde viser et eksempel:

Screenshot showing a service principal name error.

Løsning

Hvis du vil løse SPN-problemer som dette problemet, må du legge til en SPN i en tjenestekonto. Hvis du vil ha mer informasjon, kan du se SAP-dokumentasjonen i Konfigurere Kerberos for SAP HANA-databaseverter.

I tillegg følger du løsningsinstruksjonene som er beskrevet i neste del.

Ingen legitimasjonsproblemer

Det er kanskje ikke klart symptomer forbundet med dette problemet. Når du undersøker Mashup[date]*.log, ser du følgende feil:

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 den samme filen ytterligere, vises følgende (uhjelpsomme) feil:

No credentials are available in the security package

Registrering av Wireshark-sporinger viser følgende feil: KRB5KDC_ERR_BADOPTION.

Screenshot showing a 'No credentials error'.

Disse feilene betyr vanligvis at SPN HDB/hana2-s4-sso2.westus2.cloudapp.azure.com-filen ble funnet, men ikke er i tjenestene som denne kontoen kan presentere delegerte legitimasjonslister i delegeringsruten i gatewaytjenestekontoen.

Løsning

Hvis du vil løse problemet uten legitimasjon , følger du fremgangsmåten som er beskrevet i Konfigurer Kerberos-avgrenset delegering. Når den er fullført riktig, gjenspeiler delegeringsfanen på gateway-tjenestekontoen HansaWorld Database (HDB)-filen og det fullstendige domenenavnet (FQDN) i listen over tjenester som denne kontoen kan presentere delegert legitimasjon for.

Validering

Du må løse problemet ved å følge de foregående trinnene. Hvis du fremdeles opplever Kerberos-problemer, kan det hende du har en feilkonfigurasjon i Power BI-gatewayen eller i SELVE HANA-serveren.

Legitimasjonsfeil

Hvis du opplever legitimasjonsfeil, viser feil i loggene eller sporingene feil som beskriver Credentials are invalid eller lignende feil. Disse feilene kan manifestere seg annerledes på datakildesiden av tilkoblingen, for eksempel SAP HANA. Følgende bilde viser en eksempelfeil:

Screenshot showing an invalid credentials error.

Symptom 1

I HANA-godkjenningssporinger kan du se oppføringer som ligner på følgende melding:

[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 instruksjonene som er beskrevet i Angi konfigurasjonsparametere for brukertilordning på gatewaymaskinen, selv om du allerede har konfigurert Microsoft Entra Koble til-tjenesten.

Validering

Når du har fullført valideringen, kan du laste inn rapporten i Power Bi-tjeneste.

Symptom 2

I HANA-godkjenningssporinger kan du se oppføringer som ligner på følgende oppføring:

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

Kontroller kerberos ekstern ID under HANA-bruker for å finne ut om ID-ene samsvarer riktig.

Validering

Når du har løst problemet, kan du opprette eller oppdatere rapporter i Power Bi-tjeneste.

Hvis du vil ha mer informasjon om den lokale datagatewayen og DirectQuery, kan du se følgende ressurser: