Zdieľať cez


Používanie protokolu Security Assertion Markup Language na jediné prihlásenie zo služby Power BI do lokálnych zdrojov údajov

Povolením jediného prihlásenia (SSO) môžete pre zostavy a tabule služby Power BI uľahčiť obnovenie údajov z lokálnych zdrojov, pričom budete rešpektovať povolenia na úrovni používateľov, ktoré sú nakonfigurované pre tieto zdroje. Ak chcete povoliť bezproblémovú pripojiteľnosť cez jediné prihlásenie, použite protokol SAML (Security Assertion Markup Language).

Poznámka

Pomocou protokolu SAML s jediným prihlásením k lokálnej bráne údajov sa môžete pripojiť iba k jednému zdroju údajov. Ak sa chcete pripojiť k ďalšiemu zdroju údajov pomocou protokolu SAML s jediným prihlásením, musíte použiť inú lokálnu bránu údajov.

Podporované zdroje údajov pre protokol SAML

Spoločnosť Microsoft v súčasnosti podporuje platformu SAP Hana s protokolom SAML. Ďalšie informácie o nastavení a konfigurácii jediného prihlásenia pre platformu SAP Hana pomocou protokolu SAML, nájdete v téme Protokol SAML pre jediné prihlásenie (SSO) do SAP Hana pre platformu BI.

Podporujeme ďalšie zdroje údajov s protokolom Kerberos (vrátane SAP HANA).

Pri platforme SAP HANA odporúčame povoliť šifrovanie ešte pred vytvorením pripojenia s prihlásením cez jediné prihlásenie (SSO) protokolu SAML. Ak chcete povoliť šifrovanie, nakonfigurujte server Hana na prijímanie šifrovaných pripojení a potom nakonfigurujte bránu tak, aby na komunikáciu so serverom Hana používala šifrovanie. Keďže ovládač ODBC platformy Hana predvolene šifruje kontrolné výrazy protokolu SAML, podpísaný kontrolný výraz protokolu SAML sa z brány odošle na server Hana bez šifrovania , čo znamená, že ho môžu odchytiť a použiť tretie strany.

Dôležité

Keďže SAP už nepodporuje knižnicu OpenSSL, ukončil aj Microsoft jeho podporu. Vaše existujúce pripojenia naďalej fungujú, ale už nemôžete vytvárať nové pripojenia. Namiesto toho použite kryptografickú knižnicu SAP (CommonCryptoLib) alebo sapcrypto.

Konfigurácia brány a zdroja údajov

Ak chcete používať protokol SAML, musíte medzi servermi Hana, pre ktoré chcete povoliť jediné prihlásenie (SSO), a bránou, vytvoriť vzťah dôvery. V tomto scenári brána slúži ako poskytovateľ identity (IdP) SAML. Tento vzťah môžete vytvoriť rôznymi spôsobmi. SAP odporúča na dokončenie krokov inštalácie použiť knižnicu CommonCryptoLib. Ďalšie informácie nájdete v oficiálnej dokumentácii SAP.

Vytvorenie certifikátov

Vzťah dôvery medzi serverom Hana a poskytovateľom idp brány môžete vytvoriť podpísaním certifikátu X509 od poskytovateľa internetových služieb s koreňovou certifikačnou autoritou (CA), ktorú server Hana považuje za dôveryhodnú.

Ak chcete vytvoriť certifikáty, postupujte takto:

  1. V zariadení, na akom je spustená platforma SAP HANA, vytvorte prázdny priečinok na ukladanie certifikátov a potom prejdite do tohto priečinka.

  2. Vytvorte koreňové certifikáty spustením nasledujúceho príkazu:

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

    Ak chcete použiť tento certifikát na podpísanie ďalších certifikátov, nezabudnite skopírovať a uložiť prístupovú frázu. Mali by ste vidieť , ako sa vytvárajú súbory CA_Cert.pem a CA_Key.pem .

  3. Vytvorte certifikáty IdP spustením nasledujúceho príkazu:

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

    Mali by ste vidieť , ako sa vytvárajú súbory IdP_Key.pem a IdP_Req.pem .

  4. Podpíšte certifikáty IdP pomocou koreňových certifikátov:

    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
    

    Mali by ste vidieť , ako sa vytvárajú súbory CA_Cert.srl a IdP_Cert.pem . V súčasnosti sa zaujímate len o súbor IdP_Cert.pem .

Vytvorenie mapovania pre certifikát poskytovateľa identity SAML

Ak chcete vytvoriť mapovanie pre certifikát poskytovateľa identity SAML, postupujte takto:

  1. V prostredí SAP Hana Studio kliknite pravým tlačidlom myši na názov vášho servera SAP Hana a potom vyberte položku Security>Open Security Console SAML Identity Provider (Poskytovateľ identity SAML Open Security Console).>

  2. Vyberte možnosť Kryptografická knižnica SAP. Nepoužívajte možnosť Kryptografická knižnica OpenSSL, ktorú spoločnosť SAP už nepoužíva.

    Screenshot of the

  3. Ak chcete importovať podpísaný certifikát IdP_Cert.pem, vyberte modré tlačidlo Importovať , ako je to znázornené na nasledujúcom obrázku:

    Screenshot of the

  4. Nezabudnite priradiť názov poskytovateľa identity.

Importovanie a vytvorenie podpísaných certifikátov v prostredí HANA

Ak chcete importovať a vytvoriť podpísané certifikáty v prostredí HANA, postupujte takto:

  1. V prostredí SAP HANA Studio spustite nasledujúci dotaz:

    CREATE CERTIFICATE FROM '<idp_cert_pem_certificate_content>'
    

    Príklad:

    CREATE CERTIFICATE FROM
    '-----BEGIN CERTIFICATE-----
    MIIDyDCCArCgA...veryLongString...0WkC5deeawTyMje6
    -----END CERTIFICATE-----
    '
    
  2. Ak nie je k dispozícii žiadne osobné prostredie zabezpečenia (PSE) s cieľom protokolu SAML, vytvorte ho spustením nasledujúceho dotazu v prostredí SAP Hana Studio:

    CREATE PSE SAMLCOLLECTION;
    set pse SAMLCOLLECTION purpose SAML;
    
  3. Pridajte novovytvorený podpísaný certifikát do PSE spustením nasledujúceho príkazu:

    alter pse SAMLCOLLECTION add CERTIFICATE <certificate_id>;
    

    Napríklad:

    alter pse SAMLCOLLECTION add CERTIFICATE 1978320;
    

    Zoznam vytvorených certifikátov môžete skontrolovať spustením nasledujúceho dotazu:

    select * from PUBLIC"."CERTIFICATES"
    

    Certifikát je teraz správne nainštalovaný. Ak chcete inštaláciu overiť, môžete spustiť nasledujúci dotaz:

    select * from "PUBLIC"."PSE_CERTIFICATES"
    

Mapovanie používateľa

Ak chcete mapovať používateľa, postupujte takto:

  1. V prostredí SAP Hana Studio vyberte priečinok Security (Zabezpečenie ).

    Screenshot of the Security folder structure on the left pane.

  2. Rozbaľte položku Používatelia a potom vyberte používateľa, ku ktorému chcete priradiť používateľa Power BI.

  3. Začiarknite políčko SAML a potom vyberte položku Konfigurovať, ako je to znázornené na nasledujúcom obrázku:

    Screenshot of the

  4. Vyberte poskytovateľa identity, ktorý ste vytvorili v časti Vytvoriť mapovanie pre certifikát poskytovateľa identity SAML. V prípade externej identity zadajte hlavné meno používateľa služby Power BI (zvyčajne e-mailovú adresu, pomocou ktorú sa používateľ prihlasuje do služby Power BI) a potom vyberte položku Pridať.

    Screenshot of the

    Ak ste nakonfigurovali svoju bránu na používanie možnosti konfigurácie ADUserNameReplacementProperty , zadajte hodnotu, ktorá nahradí pôvodné hlavné meno používateľa služby Power BI. Ak ste napríklad nastavili pre vlastnosť ADUserNameReplacementProperty hodnotu SAMAccountName, zadajte SAMAccountName používateľa.

Konfigurácia brány

Teraz, keď ste nakonfigurovali certifikát a identitu brány, skonvertujte certifikát do formátu súboru PFX a potom nakonfigurujte bránu tak, aby používala tento certifikát:

  1. Konvertujte certifikát do formátu PFX spustením nasledujúceho príkazu. Týmto príkazom sa pre výsledný súbor nastaví názov salcert.pfx a ako heslo sa nastaví root , ako je to znázornené tu:

    openssl pkcs12 -export -out samltest.pfx -in IdP_Cert.pem -inkey IdP_Key.pem -passin pass:root -passout pass:root
    
  2. Skopírujte súbor PFX do počítača brány:

    a. Dvakrát kliknite na súbor samltest.pfx a potom vyberte položky Lokálny počítač>Ďalej.

    b. Zadajte heslo a potom vyberte položku Ďalej.

    c. Vyberte položku Place all certificates in the following store (Umiestniť všetky certifikáty do nasledujúceho priestoru) a potom vyberte položku Browse Personal OK (Prehľadávať>osobné>OK).

    Screenshot of the

    d. Vyberte položku Next (Ďalej) a potom vyberte položku Finish ( Dokončiť).

  3. Ak chcete kontu služby brány udeliť prístup k súkromnému kľúču certifikátu, postupujte takto:

    a. V počítači s bránou spustite konzolu Microsoft Management Console (MMC).

    Screenshot of the gateway machine

    b. V konzole MMC vyberte položky Súbor>Pridať alebo odstrániť modul.

    Screenshot of the

    c. Vyberte položku Certificates Add (Certifikáty>Pridať) a potom vyberte položku Computer account (Konto>počítača) Next (Ďalej).

    d. Vyberte položku Dokončenie>lokálneho počítača>OK.

    e. Rozbaľte položku Certificates Personal Certificates (Certifikáty>osobných>certifikátov) a potom vyhľadajte certifikát.

    f. Kliknite pravým tlačidlom myši na certifikát a potom vyberte položku All Tasks (Všetky úlohy>) Manage Private Keys (Spravovať súkromné kľúče).

    Screenshot of the

    r. Pridajte konto služby brány do zoznamu. Predvolene je konto NT SERVICE\PBIEgwService. Môžete zistiť, ktoré konto spúšťa službu brány spustením príkazu services.msc a potom vyhľadaním položky On-premises data gateway service (Lokálna služba brány údajov).

    Screenshot of the

A nakoniec pridajte odtlačok certifikátu do konfigurácie brány:

  1. Ak chcete v počítači uviesť zoznam certifikátov, spustite nasledujúci príkaz prostredia PowerShell:

    Get-ChildItem -path cert:\LocalMachine\My
    
  2. Skopírujte odtlačok pre certifikát, ktorý ste vytvorili.

  3. Prejdite do adresára brány, ktorý je predvolene C:\Program Files\On-premises data gateway .

  4. Otvorte súbor PowerBI.DataMovement.Pipeline.GatewayCore.dll.config a vyhľadajte časť SapHanaSAMLCertThumbprint . Prilepte sem odtlačok, ktorý ste skopírovali v kroku 2.

  5. Reštartujte službu brány.

Spustenie zostavy Power BI

Teraz môžete použiť stránku Spravovať bránu v službe Power BI na nakonfigurovanie zdroja údajov SAP HANA. V časti Rozšírené Nastavenia povoľte jediné prihlásenie cez protokol SAML. Potom môžete publikovať zostavy a množiny údajov viazané na tento zdroj údajov.

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

Poznámka

Jediné prihlásenie používa overovanie systému Windows, takže skontrolujte, či má konto systému Windows prístup k počítaču s bránou. Ak nie ste istí, pridajte NT-AUTHORITY\Authenticated Users (S-1-5-11) do skupiny Lokálni používatelia.

Riešenie problémov s používaním protokolu SAML na jediné prihlásenie do platformy SAP HANA

Táto časť obsahuje rozsiahle kroky na riešenie problémov s používaním protokolu SAML na jediné prihlásenie do platformy SAP HANA. Pomocou týchto krokov môžete pomôcť self-diagnostikovať a opraviť všetky problémy, ktoré by mohli čeliť.

Zamietnuté poverenia

Po nakonfigurovaní jediného prihlásenia založeného na protokole SAML sa môže na portáli Power BI zobraziť nasledujúca chyba: "Zadané prihlasovacie údaje nemožno použiť pre zdroj SapHana." Táto chyba označuje, že poverenia SAML boli platformou SAP HANA odmietnuté.

Podrobné informácie na riešenie problémov týkajúcich sa platformy SAP HANA nájdete v údajoch sledovania overovania na strane servera. Ak chcete nakonfigurovať sledovanie pre server SAP HANA, postupujte takto:

  1. Na serveri SAP HANA zapnite sledovanie overovania spustením nasledujúceho dotazu:

    ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') set ('trace', 'authentication') = 'debug' with reconfigure 
    
  2. Zreprodukujte problém.

  3. V prostredí SAP HANA Studio otvorte konzolu na správu a potom vyberte kartu Diagnosis Files (Diagnostikovať súbory ).

  4. Otvorte najnovšie sledovanie servera indexu a potom vyhľadajte SAMLAuthenticator.cpp.

    Mali by ste nájsť podrobné chybové hlásenie, ktoré označuje hlavnú príčinu, ako je to znázornené v nasledujúcom príklade:

    [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. Po dokončení riešenia problémov vypnite sledovanie overovania spustením nasledujúceho dotazu:

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

Overenie a riešenie problémov s chybami brány

Ak chcete postupovať podľa postupov uvedených v tejto časti, musíte zhromaždiť denníky brány.

Chyba SSL (certifikát)

Chybové príznaky

Tento problém má viaceré príznaky. Pri pokuse o pridanie nového zdroja údajov sa môže zobraziť takéto chybové hlásenie:

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."

Pri pokuse o vytvorenie alebo obnovenie zostavy sa môže zobraziť chybové hlásenie, ako je napríklad to na nasledujúcom obrázku:

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

Pri skúmaní funkcie Mashup[date]*.log sa zobrazí nasledujúce chybové hlásenie:

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

Rozlíšenie

Ak chcete vyriešiť túto chybu SSL, prejdite na pripojenie zdroja údajov a potom v rozbaľovacom zozname Overiť certifikát servera vyberte možnosť Nie, ako je to znázornené na nasledujúcom obrázku:

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

Po výbere tohto nastavenia sa už chybové hlásenie nebude zobrazovať.

Chyba SignXML brány

Chyba SignXML brány môže byť výsledkom nesprávnych nastavení databázy SapHanaSAMLCertThumbprint alebo môže ísť o problém so serverom Hana. Položky v denníkoch brány pomáhajú identifikovať, kde sa problém nachádza a ako ho vyriešiť.

Chybové príznaky

Položky denníka pre SignXML: Found the cert...: Ak súbor GatewayInfo[date].log obsahuje túto chybu, našiel sa certifikát SignXML a vaše úsilie o riešenie problémov by sa malo zamerať na kroky, ktoré nájdete v časti Overiť a riešiť problémy na strane servera Hana.

Položky denníka pre Couldn't find saml cert: Ak váš súbor GatewayInfo[date].log obsahuje túto chybu, vlastnosť SapHanaSAMLCertThumbprint sa nastaví nesprávne. Nasledujúca časť riešenia popisuje, ako tento problém vyriešiť.

Rozlíšenie

Ak chcete správne nastaviť SapHanaSAMLCertThumbprint, postupujte podľa pokynov v časti "Konfigurácia brány" . Pokyny začínajú reťazcom Konečne a pridajte odtlačok certifikátu do konfigurácie brány.

Po zmene konfiguračného súboru musíte reštartovať službu brány, aby sa zmena prejavila.

Overenie

Keď je sapHanaSAMLCertThumbprint správne nastavený, denníky brány budú obsahovať SignXML: Found the cert...položky. Teraz by ste mali mať možnosť prejsť do časti Overiť a riešiť problémy na strane servera Hana.

Ak brána nedokáže použiť certifikát na podpísanie kontrolného výrazu protokolu SAML, môže sa zobraziť chyba v denníkoch, ktoré sú podobné nasledujúcemu:

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.

Ak chcete vyriešiť túto chybu, postupujte podľa pokynov, ktoré sa začínajú krokom 3, v časti "Konfigurácia brány" .

Po zmene konfigurácie reštartujte službu brány, aby sa zmena prejavila.

Overenie a riešenie problémov so stranou servera Hana

Riešenia v tejto časti použite, ak brána dokáže nájsť certifikát a podpísať kontrolný výraz protokolu SAML, ale stále sa vyskytujú chyby. Bude potrebné zhromaždiť sledovania overovania HANA, ako je to popísané vyššie v časti Zamietnuté poverenia.

Poskytovateľ identity SAML

Prítomnosť Found SAML provider reťazca v sledovaní overovania platformy HANA označuje, že poskytovateľ identity SAML je nakonfigurovaný správne. Ak reťazec neexistuje, konfigurácia je nesprávna.

Rozlíšenie

Najprv zistite, či vaša organizácia používa ako sslcryptoprovider knižnicu OpenSSL alebo commoncrypto. Ak chcete zistiť, ktorý poskytovateľ sa používa, postupujte takto:

  1. Otvorte SAP Hana Studio.

  2. Otvorte konzolu Spravovanie istration pre nájomníka, ktorý používate.

  3. Vyberte kartu Konfigurácia a ako filter použite sslcryptoprovider, ako je znázornené na nasledujúcom obrázku:

    Screenshot of the sslcryptoprovider information in SAP HANA Studio.

Ďalej overte, či je kryptografická knižnica správne nastavená, vykonaním nasledujúcich krokov:

  1. Prejdite do konzoly zabezpečenia v prostredí SAP HANA Studio výberom karty Poskytovatelia identity SAML a vykonajte jeden z nasledujúcich krokov:

    • Ak je sslcryptoprovider openSSL, vyberte možnosť Kryptografická knižnica OpenSSL.
    • Ak je sslcryptoprovider bežným knižnicouCrypto, vyberte možnosť Kryptografická knižnica SAP.

    Na nasledujúcom obrázku je vybratá kryptografická knižnica SAP:

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

  2. Nasadíte zmeny výberom tlačidla Nasadiť v pravom hornom rohu, ako je to znázornené na nasledujúcom obrázku:

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

Overenie

Pri správnej konfigurácii sledovania sa budú hlásiť a nenahlásia Found SAML providerSAML Provider not foundsa. Môžete prejsť na ďalšiu časť Riešenie problémov s podpisom kontrolného výrazu SAML.

Ak je kryptografický poskytovateľ nastavený, ale SAML Provider not found stále sa zobrazuje, vyhľadajte reťazec v stope, ktorá začína nasledujúcim textom:

Search SAML provider for certificate with subject =

V tomto reťazci sa uistite, že predmet a vydavateľ sú úplne rovnaké ako sa zobrazuje na karte poskytovateľa identity SAML v konzole zabezpečenia. Problém môže spôsobovať rozdiel, dokonca aj jeden znak. Ak nájdete rozdiel, môžete problém vyriešiť v kryptografickej knižnici SAP tak, aby sa položky presne zhodovali.

Ak sa zmenou kryptografickej knižnice SAP problém nevyrieši, polia Vydané na a Vytvorené podľa môžete upraviť jednoduchým dvojitým kliknutím.

Riešenie problémov s podpisom kontrolného výrazu SAML

Možno nájdete sledovania overovania HANA, ktoré obsahujú položky podobné týmto položkám:

[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!

Prítomnosť takýchto položiek znamená, že podpis nie je dôveryhodný.

Rozlíšenie

Ak používate openSSL ako sslcryptoprovider, skontrolujte, či sa súbory trust.pem a key.pem nachádzajú v adresári SSL. Ďalšie informácie nájdete na blogu SAP Zabezpečenie komunikácie medzi štúdiom SAP Hana a serverom SAP Hana prostredníctvom protokolu SSL.

Ak ako sslcryptoprovider používate knižnicu commoncrypto , skontrolujte, či sa v nájomníkovi nachádza kolekcia s certifikátom.

Overenie

Pri správnej konfigurácii trasovaní sa nahlásia Found valid XML signature.

Riešenie problémov s mapovaním hlavného mena používateľa

Možno nájdete stopy platformy HANA, ktoré obsahujú položky podobné týmto položkám:

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

Chyba označuje, že označenie nameId johnny@contoso.com sa nachádza v kontrolných výrazoch protokolu SAML, ale neexistuje alebo nie je správne mapovaná na serveri Hana.

Rozlíšenie

Prejdite na používateľa databázy HANA a začiarknutím políčka SAML vyberte prepojenie Konfigurovať . Zobrazí sa nasledujúce okno:

Screenshot showing that the incorrect user name is displayed.

Ako popisuje chybové hlásenie, hana sa snažila nájsť johnny@contoso.com, ale externá identita sa zobrazuje len ako johnny. Tieto dve hodnoty sa musia zhodovať. Ak chcete vyriešiť tento problém, v časti Externá identita zmeňte hodnotu na johnny@contoso.com. Všimnite si, že v tejto hodnote sa rozlišuje veľké a malé písmená.

Ďalšie informácie o lokálnej bráne údajov a režime DirectQuery získate v nasledujúcich témach: