Del via


Bruk security assertion Markup Language for SSO fra Power BI til lokale datakilder

Ved å aktivere enkel pålogging (SSO) kan du gjøre det enkelt for Power BI-rapporter og instrumentbord å oppdatere data fra lokale kilder mens du respekterer brukernivåtillatelser som er konfigurert på disse kildene. Hvis du vil aktivere sømløs SSO-tilkobling, bruker du SAML (Security Assertion Markup Language).

Merk

Du kan koble til bare én datakilde ved hjelp av enkel pålogging saml med en lokal datagateway. Hvis du vil koble til en ekstra datakilde ved hjelp av SAML for enkel pålogging, må du bruke en annen lokal datagateway.

Støttede datakilder for SAML

Microsoft støtter for øyeblikket SAP HANA med SAML. Hvis du vil ha mer informasjon om hvordan du konfigurerer enkel pålogging for SAP HANA ved hjelp av SAML, kan du se SAML SSO for BI Platform til HANA.

Vi støtter flere datakilder med Kerberos (inkludert SAP HANA).

For SAP HANA anbefaler vi at du aktiverer kryptering før du etablerer en SAML SSO-tilkobling. Hvis du vil aktivere kryptering, konfigurerer du HANA-serveren til å godta krypterte tilkoblinger, og deretter konfigurerer du gatewayen til å bruke kryptering til å kommunisere med HANA-serveren. Siden HANA ODBC-driveren ikke krypterer SAML-deklarasjoner som standard, sendes den signerte SAML-deklarasjonen fra gatewayen til HANA-serveren i det klare og er sårbar for avskjæring og gjenbruk av tredjeparter.

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.

Konfigurer gatewayen og datakilden

Hvis du vil bruke SAML, må du opprette en klareringsrelasjon mellom HANA-serverne du vil aktivere SSO og gatewayen for. I dette scenarioet fungerer gatewayen som SAML-identitetsleverandør (IdP). Du kan opprette denne relasjonen på forskjellige måter. SAP anbefaler at du bruker CommonCryptoLib til å fullføre konfigurasjonstrinnene. Hvis du vil ha mer informasjon, kan du se den offisielle SAP-dokumentasjonen.

Opprette sertifikatene

Du kan opprette en klareringsrelasjon mellom en HANA-server og gateway-IdP ved å signere gateway-IdPs X509-sertifikat med en rotsertifikatinstans (CA) som er klarert av HANA-serveren.

Gjør følgende for å opprette sertifikatene:

  1. Opprett en tom mappe på enheten som kjører SAP HANA, for å lagre sertifikatene, og gå deretter til mappen.

  2. Opprett rotsertifikatene ved å kjøre følgende kommando:

    openssl req -new -x509 -newkey rsa:2048 -days 3650 -sha256 -keyout CA_Key.pem -out CA_Cert.pem -extensions v3_ca'''
    

    Pass på at du kopierer og lagrer passfrasen for å bruke dette sertifikatet til å signere andre sertifikater. Du bør se CA_Cert.pem - og CA_Key.pem-filene som opprettes.

  3. Opprett IdP-sertifikatene ved å kjøre følgende kommando:

    openssl req -newkey rsa:2048 -days 365 -sha256 -keyout IdP_Key.pem -out IdP_Req.pem -nodes
    

    Du bør se IdP_Key.pem - og IdP_Req.pem-filene som opprettes.

  4. Signer IdP-sertifikatene med rotsertifikatene:

    openssl x509 -req -days 365 -in IdP_Req.pem -sha256 -extensions usr_cert -CA CA_Cert.pem -CAkey CA_Key.pem -CAcreateserial -out IdP_Cert.pem
    

    Du bør se CA_Cert.srl - og IdP_Cert.pem-filene som opprettes. På dette tidspunktet er du bare opptatt av IdP_Cert.pem-filen .

Opprett tilordning for SAML-identitetsleverandørsertifikatet

Gjør følgende for å opprette tilordning for SAML-identitetsleverandørsertifikatet:

  1. Høyreklikk SAP HANA-servernavnet i SAP HANA Studio, og velg deretter Security>Open Security Console>SAML Identity Provider.

  2. Velg alternativet SAP Cryptographic Library. Ikke bruk alternativet OpenSSL Cryptographic Library, som er avskrevet av SAP.

    Screenshot of the

  3. Hvis du vil importere det signerte sertifikatet IdP_Cert.pem, velger du den blå Importer-knappen , som vist i følgende bilde:

    Screenshot of the

  4. Husk å tilordne et navn for identitetsleverandøren.

Importere og opprette de signerte sertifikatene i HANA

Gjør følgende for å importere og opprette de signerte sertifikatene i HANA:

  1. Kjør følgende spørring i SAP HANA Studio:

    CREATE CERTIFICATE FROM '<idp_cert_pem_certificate_content>'
    

    Her er et eksempel:

    CREATE CERTIFICATE FROM
    '-----BEGIN CERTIFICATE-----
    MIIDyDCCArCgA...veryLongString...0WkC5deeawTyMje6
    -----END CERTIFICATE-----
    '
    
  2. Hvis det ikke er noe personlig sikkerhetsmiljø (PSE) med formål saml, kan du opprette en ved å kjøre følgende spørring i SAP HANA Studio:

    CREATE PSE SAMLCOLLECTION;
    set pse SAMLCOLLECTION purpose SAML;
    
  3. Legg til det nylig opprettede signerte sertifikatet i PSE ved å kjøre følgende kommando:

    alter pse SAMLCOLLECTION add CERTIFICATE <certificate_id>;
    

    Eksempel:

    alter pse SAMLCOLLECTION add CERTIFICATE 1978320;
    

    Du kan kontrollere listen over opprettede sertifikater ved å kjøre følgende spørring:

    select * from PUBLIC"."CERTIFICATES"
    

    Sertifikatet er nå riktig installert. Hvis du vil bekrefte installasjonen, kan du kjøre følgende spørring:

    select * from "PUBLIC"."PSE_CERTIFICATES"
    

Tilordne brukeren

Gjør følgende for å tilordne brukeren:

  1. Velg Sikkerhetsmappen i SAP HANA Studio.

    Screenshot of the Security folder structure on the left pane.

  2. Utvid brukere, og velg deretter brukeren du vil tilordne Power BI-brukeren til.

  3. Merk av for SAML , og velg deretter Konfigurer, som vist på følgende bilde:

    Screenshot of the

  4. Velg identitetsleverandøren du opprettet i delen Opprett tilordning for SAML-identitetsleverandørsertifikatet . For ekstern identitet skriver du inn POWER BI-brukerens UPN (vanligvis e-postadressen brukeren bruker til å logge på Power BI), og deretter velger du Legg til.

    Screenshot of the

    Hvis du har konfigurert gatewayen til å bruke konfigurasjonsalternativet ADUserNameReplacementProperty , angir du verdien som erstatter Den opprinnelige UPN-en for Power BI-brukeren. Hvis du for eksempel angir ADUserNameReplacementProperty til SAMAccountName, skriver du inn brukerens SAMAccountName.

Konfigurer gatewayen

Nå som du har konfigurert gatewaysertifikatet og -identiteten, konverterer du sertifikatet til et PFX-filformat, og deretter konfigurerer du gatewayen til å bruke sertifikatet ved å gjøre følgende:

  1. Konverter sertifikatet til PFX-format ved å kjøre følgende kommando. Denne kommandoen navngir den resulterende filen samlcert.pfx og angir rot som passord, som vist her:

    openssl pkcs12 -export -out samltest.pfx -in IdP_Cert.pem -inkey IdP_Key.pem -passin pass:root -passout pass:root
    
  2. Kopier PFX-filen til gateway-maskinen:

    a. Dobbeltklikk samltest.pfx, og velg deretter Lokal maskin>neste.

    b. Skriv inn passordet, og velg deretter Neste.

    c. Velg Plasser alle sertifikater i følgende lager, og velg deretter Bla gjennom>personlig>OK.

    Screenshot of the

    d. Velg Neste, og velg deretter Fullfør.

  3. Gjør følgende for å gi gateway-tjenestekontoen tilgang til den private nøkkelen for sertifikatet:

    a. Kjør Microsoft Management Console (MMC) på gateway-maskinen.

    Screenshot of the gateway machine

    b. Velg Filtillegg>/fjern snapin-modulen i MMC.

    Screenshot of the

    c. Velg Legg til sertifikater>, og velg deretter Datamaskinkonto>Neste.

    d. Velg Fullfør lokal datamaskin>>OK.

    e. Utvid personlige>sertifikater for sertifikater>, og se deretter etter sertifikatet.

    f. Høyreklikk sertifikatet, og velg deretter Behandle private nøkler for alle oppgaver>.

    Screenshot of the

    g. Legg til gateway-tjenestekontoen i listen. Som standard er kontoen NT SERVICE\PBIEgwService. Du kan finne ut hvilken konto som kjører gateway-tjenesten ved å kjøre services.msc og deretter se etter lokal datagatewaytjeneste.

    Screenshot of the

Til slutt legger du til sertifikatavtrykket i gatewaykonfigurasjonen:

  1. Hvis du vil vise sertifikatene på maskinen, kjører du følgende PowerShell-kommando:

    Get-ChildItem -path cert:\LocalMachine\My
    
  2. Kopier avtrykket for sertifikatet du opprettet.

  3. Gå til gateway-katalogen, som er C:\Programfiler\Lokal datagateway som standard.

  4. Åpne PowerBI.DataMovement.Pipeline.GatewayCore.dll.config, og se etter sapHanaSAMLCertThumbprint-inndelingen . Lim inn avtrykket du kopierte i trinn 2.

  5. Start gateway-tjenesten på nytt.

Kjøre en Power BI-rapport

Nå kan du bruke behandle gateway-siden i Power BI til å konfigurere SAP HANA-datakilden. Aktiver SSO via SAML under Avansert Innstillinger. Ved å gjøre dette kan du publisere rapporter og datasett som er bindende for datakilden.

 Screenshot of advanced settings with single sign-on for SAML.

Merk

SSO bruker Windows-godkjenning, så kontroller at Windows-kontoen har tilgang til gateway-maskinen. Hvis du ikke er sikker, må du passe på å legge til NT-AUTHORITY\Godkjente brukere (S-1-5-11) i den lokale maskinen «Brukere»-gruppen.

Feilsøke bruk av SAML for enkel pålogging til SAP HANA

Denne delen inneholder omfattende fremgangsmåter for feilsøking ved hjelp av SAML for enkel pålogging til SAP HANA. Ved hjelp av disse trinnene kan du selv diagnostisere og rette opp eventuelle problemer du måtte møte.

Avvist legitimasjon

Når du har konfigurert SAML-basert SSO, kan du se følgende feil i Power BI-portalen: «Legitimasjonen som er angitt, kan ikke brukes for SapHana-kilden.» Denne feilen indikerer at SAML-legitimasjonen ble avvist av SAP HANA.

Godkjenningssporinger på serversiden gir detaljert informasjon om feilsøking av legitimasjonsproblemer på SAP HANA. Gjør følgende for å konfigurere sporing for SAP HANA-serveren:

  1. Slå på godkjenningssporingen på SAP HANA-serveren ved å kjøre følgende spørring:

    ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') set ('trace', 'authentication') = 'debug' with reconfigure 
    
  2. Reprodusere problemet.

  3. Åpne administrasjonskonsollen i SAP HANA Studio, og velg deretter Diagnosefiler-fanen .

  4. Åpne den nyeste indeksserversporingen, og søk etter SAMLAuthenticator.cpp.

    Du bør finne en detaljert feilmelding som angir grunnårsaken, som vist i følgende eksempel:

    [3957]{-1}[-1/-1] 2018-09-11 21:40:23.815797 d Authentication   SAMLAuthenticator.cpp(00091) : Element '{urn:oasis:names:tc:SAML:2.0:assertion}Assertion', attribute 'ID': '123123123123123' is not a valid value of the atomic type 'xs:ID'.
    [3957]{-1}[-1/-1] 2018-09-11 21:40:23.815914 i Authentication   SAMLAuthenticator.cpp(00403) : No valid SAML Assertion or SAML Protocol detected
    
  5. Når du er ferdig med feilsøkingen, deaktiverer du godkjenningssporingen ved å kjøre følgende spørring:

    ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') UNSET ('trace', 'authentication');
    

Kontrollere og feilsøke gatewayfeil

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

SSL-feil (sertifikat)

Feilsymptomer

Dette problemet har flere symptomer. Når du prøver å legge til en ny datakilde, kan det hende du ser en feilmelding som følger:

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 en feilmelding som den i følgende bilde:

Screenshot of a 'Cannot load model' troubleshooting 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

Oppløsning

Hvis du vil løse denne SSL-feilen, går du til datakildetilkoblingen, og deretter velger du Nei i rullegardinlisten Valider serversertifikat, som vist på følgende bilde:

Screenshot showing the S S L error being resolved on the 'Data Source Settings' pane.

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

Gateway SignXML-feil

Gatewayen SignXML-feil kan være et resultat av feil innstillinger for SapHanaSAMLCertThumbprint , eller det kan være et problem med HANA-serveren. Oppføringer i gatewayloggene bidrar til å identifisere hvor problemet befinner seg, og hvordan du løser det.

Feilsymptomer

Loggoppføringer for SignXML: Found the cert...: Hvis GatewayInfo[date].log-filen inneholder denne feilen, ble SignXML-sertet funnet, og feilsøkingsarbeidet bør fokusere på trinnene som finnes i delen Bekreft og feilsøk HANA-serversiden .

Loggoppføringer for Couldn't find saml cert: Hvis GatewayInfo[date].log-filen inneholder denne feilen, angis SapHanaSAMLCertThumbprint feil. Følgende løsningsinndeling beskriver hvordan du løser problemet.

Oppløsning

Hvis du vil angi SapHanaSAMLCertThumbprint på riktig måte, følger du instruksjonene i delen Konfigurer gatewayen . Instruksjonene begynner med Til slutt, og legger til sertifikatavtrykket i gatewaykonfigurasjonen.

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

Validering

Når SapHanaSAMLCertThumbprint er riktig angitt, har gatewayloggene oppføringer som inkluderer SignXML: Found the cert.... På dette tidspunktet skal du kunne fortsette til delen Bekreft og feilsøkE HANA-serversiden .

Hvis gatewayen ikke kan bruke sertifikatet til å signere SAML-deklarasjonen, kan det hende du ser en feil i loggene som ligner på følgende:

GatewayPipelineErrorCode=DM_GWPipeline_UnknownError GatewayVersion= InnerType=CryptographicException InnerMessage=<pi>Signing key is not loaded.</pi> InnerToString=<pi>System.Security.Cryptography.CryptographicException: Signing key is not loaded.

Hvis du vil løse denne feilen, følger du instruksjonene som begynner med trinn 3 i delen Konfigurer gatewayen .

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

Kontrollere og feilsøke HANA-serversiden

Bruk løsningene i denne delen hvis gatewayen kan finne sertifikatet og signere SAML-deklarasjonen, men du opplever fortsatt feil. Du må samle inn HANA-godkjenningssporinger, som beskrevet tidligere i delen Avvist legitimasjon.

SAML-identitetsleverandøren

Tilstedeværelsen av strengen Found SAML provider i HANA-godkjenningssporingene indikerer at SAML-identitetsleverandøren er riktig konfigurert. Hvis strengen ikke finnes, er konfigurasjonen feil.

Oppløsning

Først må du bestemme om organisasjonen bruker OpenSSL eller commoncrypto som sslcryptoprovider. Gjør følgende for å finne ut hvilken leverandør som skal brukes:

  1. Åpne SAP HANA Studio.

  2. Åpne administrasjonskonsollen for leieren du bruker.

  3. Velg Konfigurasjon-fanen, og bruk sslcryptoprovider som et filter, som vist i følgende bilde:

    Screenshot of the sslcryptoprovider information in SAP HANA Studio.

Deretter må du kontrollere at det kryptografiske biblioteket er riktig angitt ved å gjøre følgende:

  1. Gå til Sikkerhetskonsoll i SAP HANA Studio ved å velge SAML-identitetsleverandører-fanen , og gjør ett av følgende:

    • Hvis sslcryptoprovider er OpenSSL, velger du OpenSSL Cryptographic Library.
    • Hvis sslcryptoprovider er commonCrypto, velger du SAP Cryptographic Library.

    I bildet nedenfor er SAP Cryptographic Library valgt:

    Screenshot of SAP HANA Studio with 'SAP Cryptographic Library' selected as the sslcryptoprovider.

  2. Distribuer endringene ved å velge Distribuer-knappen øverst til høyre, som vist på følgende bilde:

    Screenshot of the 'Deploy' button for deploying your solution changes.

Validering

Når sporingene er riktig konfigurert, vil de rapportere Found SAML provider og vil ikke rapportere SAML Provider not found. Du kan gå videre til neste del: «Feilsøk SAML-deklarasjonssignaturen.»

Hvis den kryptografiske leverandøren er angitt, men SAML Provider not found fremdeles rapporteres, søker du etter en streng i sporingen som begynner med følgende tekst:

Search SAML provider for certificate with subject =

I denne strengen må du kontrollere at emnet og utstederen er nøyaktig det samme som vist i SAML-identitetsleverandørfanen i Sikkerhetskonsoll. En forskjell på selv ett enkelt tegn kan forårsake problemet. Hvis du finner en forskjell, kan du løse problemet i SAP Cryptographic Library slik at oppføringene samsvarer nøyaktig.

Hvis endring av sapkryptografisk bibliotek ikke løser problemet, kan du redigere feltene Utstedt til og utstedt av manuelt ved å dobbeltklikke dem.

Feilsøk SAML-deklarasjonssignaturen

Du finner kanskje HANA-godkjenningssporinger som inneholder oppføringer som ligner på følgende:

[48163]{-1}[-1/-1] 2020-09-11 21:15:18.896165 i Authentication SAMLAuthenticator.cpp(00398) : Unable to verify XML signature [48163]{-1}[-1/-1] 2020-09-11 21:15:18.896168 i Authentication MethodSAML.cpp(00103) : unsuccessful login attempt with SAML ticket!

Tilstedeværelsen av slike oppføringer betyr at signaturen ikke er klarert.

Oppløsning

Hvis du bruker OpenSSL som sslcryptoprovider, må du kontrollere om trust.pem - og key.pem-filene er i SSL-katalogen. Hvis du vil ha mer informasjon, kan du se SAP-bloggen Sikre kommunikasjonen mellom SAP HANA Studio og SAP HANA Server via SSL.

Hvis du bruker commoncrypto som sslcryptoprovider, må du kontrollere om det finnes en samling med sertifikatet i leieren.

Validering

Når sporingene er riktig konfigurert, vil de rapportere Found valid XML signature.

Feilsøk UPN-tilordningen

Du finner kanskje HANA-sporinger som inneholder oppføringer som ligner på følgende:

SAMLAuthenticator.cpp(00886) : Assertion Subject NameID: `johnny@contoso.com` SAMLAuthenticator.cpp(00398) : Database user does not exist

Feilen angir at nameId johnny@contoso.com finnes i SAML-deklarasjonene, men den finnes ikke eller er ikke riktig tilordnet i HANA Server.

Oppløsning

Gå til HANA-databasebrukeren, og merk av for Konfigurer koblingen under den valgte SAML-boksen. Følgende vindu vises:

Screenshot showing that the incorrect user name is displayed.

Som feilmeldingen beskriver, prøvde HANA å finne johnny@contoso.com, men den eksterne identiteten vises bare som johnny. Disse to verdiene må samsvare. Hvis du vil løse problemet, endrer du verdien under Ekstern identitet til johnny@contoso.com. Vær oppmerksom på at denne verdien skiller mellom store og små bokstaver.

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