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:
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.
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.
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.
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:
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.
Vælg indstillingen Kryptografisk SAP-bibliotek . Brug ikke indstillingen OpenSSL Cryptographic Library, som frarådes af SAP.
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:
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:
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----- '
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;
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:
Vælg mappen Sikkerhed i SAP HANA Studio.
Udvid Brugere, og vælg derefter den bruger, du vil knytte din Power BI-bruger til.
Markér afkrydsningsfeltet SAML , og vælg derefter Konfigurer som vist på følgende billede:
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.
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:
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
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.
d. Vælg Næste, og vælg derefter Udfør.
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.
b. I MMC skal du vælge Tilføj fil>/Fjern snap-in.
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.
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ø.
Til sidst skal du føje certifikatets aftryk til gatewaykonfigurationen:
Kør følgende PowerShell-kommando for at få vist certifikaterne på computeren:
Get-ChildItem -path cert:\LocalMachine\My
Kopiér aftrykket for det certifikat, du har oprettet.
Gå til gatewaymappen, som som standard er C:\Programmer\Datagateway i det lokale miljø.
Åbn PowerBI.DataMovement.Pipeline.GatewayCore.dll.config, og søg derefter efter afsnittet SapHanaSAMLCertThumbprint . Indsæt det aftryk, du kopierede i trin 2.
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.
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:
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
Genskab problemet.
Åbn administrationskonsollen i SAP HANA Studio, og vælg derefter fanen Diagnosticeringsfiler.
Å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
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:
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 Nej på rullelisten Valider servercertifikat som vist på følgende billede:
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:
Åbn SAP HANA Studio.
Åbn Administration istrationskonsollen for den lejer, du bruger.
Vælg fanen Konfiguration , og brug sslcryptoprovider som filter som vist på følgende billede:
Kontrollér derefter, at det kryptografiske bibliotek er angivet korrekt, ved at gøre følgende:
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:
Udrul dine ændringer ved at vælge knappen Installer øverst til højre, som vist på følgende billede:
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 signature
de .
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:
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.
Relateret indhold
Du kan finde flere oplysninger om datagatewayen i det lokale miljø og DirectQuery i følgende ressourcer: