Brug kodesprog for sikkerhedsantagelse til SSO fra Power BI til datakilder i det lokale miljø

Ved at aktivere enkeltlogon (SSO) kan du gøre det nemt for Power BI-rapporter og -dashboards at opdatere data fra kilder i det lokale miljø, mens du respekterer tilladelser på brugerniveau, der er konfigureret for disse kilder. Hvis du vil aktivere problemfri SSO-forbindelse, skal du bruge SAML (Security Assertion Markup Language).

Bemærk

Du kan kun oprette forbindelse til én datakilde ved hjælp af SAML med enkeltlogon med en datagateway i det lokale miljø. Hvis du vil oprette forbindelse til en ekstra datakilde ved hjælp af SAML med Enkeltlogon, skal du bruge en anden datagateway i det lokale miljø.

Understøttede datakilder til SAML

Microsoft understøtter i øjeblikket SAP HANA med SAML. Du kan få flere oplysninger om konfiguration af enkeltlogon til SAP HANA ved hjælp af SAML under SAML SSO for BI Platform til HANA.

Vi understøtter yderligere datakilder med Kerberos (herunder SAP HANA).

For SAP HANA anbefaler vi, at du aktiverer kryptering, før du opretter en SAML SSO-forbindelse. Hvis du vil aktivere kryptering, skal du konfigurere HANA-serveren til at acceptere krypterede forbindelser og derefter konfigurere gatewayen til at bruge kryptering til at kommunikere med din HANA-server. Da HANA ODBC-driveren ikke krypterer SAML-påstande som standard, sendes den signerede SAML-antagelse fra gatewayen til HANA-serveren i klartekst og er sårbar over for opfangelse og genbrug af tredjeparter.

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.

Konfigurer gatewayen og datakilden

Hvis du vil bruge SAML, skal du etablere et tillidsforhold mellem de HANA-servere, du vil aktivere SSO for, og gatewayen. I dette scenarie fungerer gatewayen som SAML-identitetsudbyderen (IdP). Du kan oprette denne relation på forskellige måder. SAP anbefaler, at du bruger CommonCryptoLib til at fuldføre konfigurationstrinnene. Du kan få flere oplysninger i den officielle SAP-dokumentation.

Opret certifikaterne

Du kan oprette et tillidsforhold mellem en HANA-server og gatewayens IdP ved at signere X509-certifikatet for gateway-idP'en med et rodnøglecenter, som HANA-serveren har tillid til.

Benyt følgende fremgangsmåde for at oprette certifikaterne:

  1. På den enhed, der kører SAP HANA, skal du oprette en tom mappe for at gemme dine certifikater og derefter gå til den pågældende mappe.

  2. Opret rodcertifikaterne ved at kø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'''
    

    Sørg for at kopiere og gemme adgangsudtrykket for at bruge dette certifikat til at signere andre certifikater. Du bør kunne se, at filerne CA_Cert.pem og CA_Key.pem oprettes.

  3. Opret IdP-certifikaterne ved at køre følgende kommando:

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

    Du bør kunne se, at filerne IdP_Key.pem og IdP_Req.pem oprettes.

  4. Signer IdP-certifikaterne med rodcertifikaterne:

    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 kunne se, at filerne CA_Cert.srl og IdP_Cert.pem oprettes. På nuværende tidspunkt er du kun bekymret for filen IdP_Cert.pem .

Opret tilknytning for SAML-identitetsudbydercertifikatet

Benyt følgende fremgangsmåde for at oprette tilknytning til SAML-identitetsudbydercertifikatet:

  1. I SAP HANA Studio skal du højreklikke på navnet på din SAP HANA-server og derefter vælge Security Open Security>Console>SAML Identity Provider.

  2. Vælg indstillingen Kryptografisk SAP-bibliotek . Brug ikke indstillingen OpenSSL Cryptographic Library, som frarådes af SAP.

    Screenshot of the

  3. Hvis du vil importere det signerede certifikat IdP_Cert.pem, skal du vælge den blå knap Importér som vist på følgende billede:

    Screenshot of the

  4. Husk at tildele et navn til din identitetsudbyder.

Importér og opret de signerede certifikater i HANA

Hvis du vil importere og oprette de signerede certifikater i HANA, skal du gøre følgende:

  1. Kør følgende forespørgsel 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 der ikke er noget PSE-miljø (Personal Security Environment) med formålet SAML, kan du oprette et ved at køre følgende forespørgsel i SAP HANA Studio:

    CREATE PSE SAMLCOLLECTION;
    set pse SAMLCOLLECTION purpose SAML;
    
  3. Føj det nyligt oprettede signerede certifikat til PSE ved at køre følgende kommando:

    alter pse SAMLCOLLECTION add CERTIFICATE <certificate_id>;
    

    Eksempler:

    alter pse SAMLCOLLECTION add CERTIFICATE 1978320;
    

    Du kan kontrollere listen over oprettede certifikater ved at køre følgende forespørgsel:

    select * from PUBLIC"."CERTIFICATES"
    

    Certifikatet er nu installeret korrekt. Du kan bekræfte installationen ved at køre følgende forespørgsel:

    select * from "PUBLIC"."PSE_CERTIFICATES"
    

Tilknyt brugeren

Benyt følgende fremgangsmåde for at tilknytte brugeren:

  1. Vælg mappen Sikkerhed i SAP HANA Studio.

    Screenshot of the Security folder structure on the left pane.

  2. Udvid Brugere, og vælg derefter den bruger, du vil knytte din Power BI-bruger til.

  3. Markér afkrydsningsfeltet SAML , og vælg derefter Konfigurer som vist på følgende billede:

    Screenshot of the

  4. Vælg den identitetsprovider, du har oprettet i afsnittet Opret tilknytning for CERTIFIKAT for SAML-identitetsprovider. I forbindelse med ekstern identitet skal du angive Power BI-brugerens UPN (normalt den mailadresse, som brugeren bruger til at logge på Power BI) og derefter vælge Tilføj.

    Screenshot of the

    Hvis du har konfigureret din gateway til at bruge konfigurationsindstillingen ADUserNameReplacementProperty , skal du angive den værdi, der skal erstatte Power BI-brugerens oprindelige UPN. Hvis du f.eks. angiver ADUserNameReplacementProperty til SAMAccountName, skal du angive brugerens SAMAccountName.

Konfigurer gatewayen

Nu, hvor du har konfigureret gatewaycertifikatet og -identiteten, skal du konvertere certifikatet til et PFX-filformat og derefter konfigurere gatewayen til at bruge certifikatet ved at gøre følgende:

  1. Konvertér certifikatet til PFX-format ved at køre følgende kommando. Denne kommando navngiver den resulterende fil samlcert.pfx og angiver roden som sin adgangskode, som vist her:

    openssl pkcs12 -export -out samltest.pfx -in IdP_Cert.pem -inkey IdP_Key.pem -passin pass:root -passout pass:root
    
  2. Kopiér PFX-filen til gatewaycomputeren:

    a. Dobbeltklik på samltest.pfx, og vælg derefter Lokal computer>Næste.

    b. Angiv adgangskoden, og vælg derefter Næste.

    c. Vælg Placer alle certifikater i følgende lager, og vælg derefter Gennemse>personlig>OK.

    Screenshot of the

    d. Vælg Næste, og vælg derefter Udfør.

  3. Hvis du vil give gatewaytjenestekontoen adgang til certifikatets private nøgle, skal du gøre følgende:

    a. Kør Microsoft Management Console (MMC) på gatewaycomputeren.

    Screenshot of the gateway machine

    b. I MMC skal du vælge Tilføj fil>/Fjern snap-in.

    Screenshot of the

    c. Vælg Certifikater>Tilføj, og vælg derefter Computerkonto>Næste.

    d. Vælg Lokal computer>udfør>OK.

    e. Udvid Certifikater>Personlige>certifikater, og søg derefter efter certifikatet.

    f. Højreklik på certifikatet, og vælg derefter Alle opgaver>Administrer private nøgler.

    Screenshot of the

    g. Føj gatewaytjenestekontoen til listen. Kontoen er som standard NT SERVICE\PBIEgwService. Du kan finde ud af, hvilken konto der kører gatewaytjenesten, ved at køre services.msc og derefter søge efter datagatewaytjenesten i det lokale miljø.

    Screenshot of the

Til sidst skal du føje certifikatets aftryk til gatewaykonfigurationen:

  1. Kør følgende PowerShell-kommando for at få vist certifikaterne på computeren:

    Get-ChildItem -path cert:\LocalMachine\My
    
  2. Kopiér aftrykket for det certifikat, du har oprettet.

  3. Gå til gatewaymappen, som som standard er C:\Programmer\Datagateway i det lokale miljø.

  4. Åbn PowerBI.DataMovement.Pipeline.GatewayCore.dll.config, og søg derefter efter afsnittet SapHanaSAMLCertThumbprint . Indsæt det aftryk, du kopierede i trin 2.

  5. Genstart gatewaytjenesten.

Kør en Power BI-rapport

Nu kan du bruge siden Administrer gateway i Power BI til at konfigurere SAP HANA-datakilden. Aktivér SSO via SAML under Avanceret Indstillinger. Ved at gøre det kan du publicere rapporter og datasæt, der er bindende for den pågældende datakilde.

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

Bemærk

SSO bruger Windows-godkendelse, så sørg for, at Windows-kontoen kan få adgang til gatewaycomputeren. Hvis du ikke er sikker, skal du sørge for at føje NT-AUTHORITY\Authenticated Users (S-1-5-11) til gruppen "Brugere" på den lokale computer.

Foretag fejlfinding af brug af SAML til enkeltlogon til SAP HANA

Dette afsnit indeholder omfattende trin til fejlfinding af brug af SAML til enkeltlogon til SAP HANA. Hvis du bruger disse trin, kan det hjælpe dig med selv at diagnosticere og løse eventuelle problemer.

Afviste legitimationsoplysninger

Når du har konfigureret SAML-baseret SSO, får du muligvis vist følgende fejl på Power BI-portalen: "De angivne legitimationsoplysninger kan ikke bruges til SapHana-kilden". Denne fejl angiver, at SAML-legitimationsoplysningerne blev afvist af SAP HANA.

Godkendelsessporinger på serversiden indeholder detaljerede oplysninger om fejlfinding af problemer med legitimationsoplysninger i SAP HANA. Hvis du vil konfigurere sporing for din SAP HANA-server, skal du gøre følgende:

  1. Aktivér godkendelsessporingen på SAP HANA-serveren ved at køre følgende forespørgsel:

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

  3. Åbn administrationskonsollen i SAP HANA Studio, og vælg derefter fanen Diagnosticeringsfiler.

  4. Åbn den nyeste indeksserversporing, og søg derefter efter SAMLAuthenticator.cpp.

    Du bør finde en detaljeret fejlmeddelelse, der angiver rodårsagen, 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 færdig med fejlfindingen, skal du slå godkendelsessporingen fra ved at køre følgende forespørgsel:

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

Kontrollér og foretag fejlfinding af gatewayfejl

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

SSL-fejl (certifikat)

Fejlsymptomer

Dette problem har flere symptomer. Når du forsøger at tilføje en ny datakilde, får du muligvis vist en fejlmeddelelse som følgende:

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 en fejlmeddelelse som den på følgende billede:

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

Opløsning

Du kan løse denne SSL-fejl ved at gå til datakildeforbindelsen og derefter vælge Nejrullelisten Valider servercertifikat som vist på følgende billede:

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

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

Gateway SignXML-fejl

Gatewayen SignXML-fejl kan skyldes forkerte SapHanaSAMLCertThumbprint-indstillinger , eller det kan være et problem med HANA-serveren. Poster i gatewayloggene hjælper med at identificere, hvor problemet er placeret, og hvordan du løser det.

Fejlsymptomer

Logposter for SignXML: Found the cert...: Hvis gatewayinfo[dato].log fil indeholder denne fejl, blev SignXML-certifikatet fundet, og fejlfindingsindsatsen bør fokusere på de trin, der findes i afsnittet "Bekræft og foretag fejlfinding af HANA-serversiden" .

Logposter for Couldn't find saml cert: Hvis filen GatewayInfo[date].log indeholder denne fejl, er SapHanaSAMLCertThumbprint angivet forkert. I følgende løsningsafsnit beskrives det, hvordan du løser problemet.

Opløsning

Hvis du vil angive SapHanaSAMLCertThumbprint korrekt, skal du følge vejledningen i afsnittet "Konfigurer gatewayen" . Instruktionerne starter med Til sidst skal du føje certifikatets aftryk til gatewaykonfigurationen.

Når du har ændret konfigurationsfilen, skal du genstarte gatewaytjenesten, før ændringen kan træde i kraft.

Validering

Når SapHanaSAMLCertThumbprint er angivet korrekt, indeholder gatewaylogfilerne poster, der omfatter SignXML: Found the cert.... På dette tidspunkt bør du kunne fortsætte til afsnittet "Bekræft og foretag fejlfinding af HANA-serversiden" .

Hvis gatewayen ikke kan bruge certifikatet til at signere SAML-antagelsen, får du muligvis vist en fejl i loggene, der ligner 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.

Du kan løse denne fejl ved at følge vejledningen fra trin 3 i afsnittet "Konfigurer gatewayen" .

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

Kontrollér og foretag fejlfinding af HANA-serversiden

Brug løsningerne i dette afsnit, hvis gatewayen kan finde certifikatet og signere SAML-antagelsen, men du stadig oplever fejl. Du skal indsamle HANA-godkendelsessporinger, som beskrevet tidligere i afsnittet "Afviste legitimationsoplysninger".

SAML-identitetsudbyderen

Tilstedeværelsen af strengen Found SAML provider i HANA-godkendelsessporingerne angiver, at SAML-identitetsprovideren er konfigureret korrekt. Hvis strengen ikke findes, er konfigurationen forkert.

Opløsning

Først skal du afgøre, om din organisation bruger OpenSSL eller commoncrypto som sslcryptoprovider. Benyt følgende fremgangsmåde for at finde ud af, hvilken provider der bruges:

  1. Åbn SAP HANA Studio.

  2. Åbn Administration istrationskonsollen for den lejer, du bruger.

  3. Vælg fanen Konfiguration , og brug sslcryptoprovider som filter som vist på følgende billede:

    Screenshot of the sslcryptoprovider information in SAP HANA Studio.

Kontrollér derefter, at det kryptografiske bibliotek er angivet korrekt, ved at gøre følgende:

  1. Gå til Sikkerhedskonsol i SAP HANA Studio ved at vælge fanen SAML-identitetsudbydere , og gør et af følgende:

    • Hvis sslcryptoprovider er OpenSSL, skal du vælge OpenSSL Cryptographic Library.
    • Hvis sslcryptoprovider er commonCrypto, skal du vælge SAP Cryptographic Library.

    På følgende billede er SAP Cryptographic Library valgt:

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

  2. Udrul dine ændringer ved at vælge knappen Installer øverst til højre, som vist på følgende billede:

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

Validering

Når sporingerne er konfigureret korrekt, rapporterer Found SAML provider de og rapporterer ikkeSAML Provider not found. Du kan gå videre til næste afsnit " Foretag fejlfinding af SAML-antagelsessignaturen".

Hvis den kryptografiske provider er angivet, men SAML Provider not found stadig rapporteres, skal du søge efter en streng i sporingen, der starter med følgende tekst:

Search SAML provider for certificate with subject =

I denne streng skal du sikre, at emnet og udstederen er nøjagtigt de samme som vist under fanen SAML-identitetsudbyder i Sikkerhedskonsol. En forskel på selv et enkelt tegn kan forårsage problemet. Hvis du finder en forskel, kan du løse problemet i det kryptografiske SAP-bibliotek, så posterne stemmer nøjagtigt overens.

Hvis du ikke løser problemet ved at ændre SAP Cryptographic Library, kan du redigere felterne Udstedt til og Udstedt af manuelt ved blot at dobbeltklikke på dem.

Foretag fejlfinding af SAML-antagelsessignaturen

Du kan finde HANA-godkendelsessporinger, der indeholder poster, der ligner 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 af sådanne poster betyder, at der ikke er tillid til signaturen.

Opløsning

Hvis du bruger OpenSSL som din sslcryptoprovider, skal du kontrollere, om filerne trust.pem og key.pem findes i SSL-mappen. Du kan finde flere oplysninger i SAP-bloggen Sikring af kommunikationen mellem SAP HANA Studio og SAP HANA Server via SSL.

Hvis du bruger commoncrypto som din sslcryptoprovider, skal du kontrollere, om der er en samling med dit certifikat i lejeren.

Validering

Når sporingerne er konfigureret korrekt, rapporterer Found valid XML signaturede .

Foretag fejlfinding af UPN-tilknytningen

Du kan finde HANA-sporinger, der indeholder poster, der ligner følgende:

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

Fejlen angiver, at nameId johnny@contoso.com blev fundet i SAML-antagelser, men det findes ikke eller er ikke tilknyttet korrekt i HANA Server.

Opløsning

Gå til HANA-databasebrugeren, og markér linket Konfigurer under det valgte SAML-afkrydsningsfelt. Følgende vindue vises:

Screenshot showing that the incorrect user name is displayed.

Som beskrevet i fejlmeddelelsen forsøgte HANA at finde johnny@contoso.com, men den eksterne identitet vises kun som johnny. Disse to værdier skal stemme overens. Du kan løse problemet ved at ændre værdien til johnny@contoso.comunder Ekstern identitet. Bemærk, at der skelnes mellem store og små bogstaver i denne værdi.

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