Security Assertion Markup Languagen käyttäminen kertakirjautumista varten Power BI:stä paikallisiin tietolähteisiin

Ottamalla kertakirjautumisen (SSO) käyttöön voit helpottaa Power BI -raporttien ja -koontinäyttöjen tietojen päivittämistä paikallisista lähteistä samalla, kun kunnioitat kyseisissä lähteissä määritettyjä käyttäjätason käyttöoikeuksia. Jos haluat ottaa saumattoman kertakirjautumisen käyttöön, käytä Security Assertion Markup Languagea (SAML).

Muistiinpano

Voit muodostaa yhteyden vain yhteen tietolähteeseen kertakirjautumisen SAML:n ja paikallisen tietoyhdyskäytävän avulla. Jos haluat muodostaa yhteyden toiseen tietolähteeseen kertakirjautumisen SAML:n avulla, sinun on käytettävä eri paikallista tietoyhdyskäytävää.

SAML:n tuetut tietolähteet

Microsoft tukee tällä hetkellä SAP HANA:a SAML:n kanssa. Lisätietoja kertakirjautumisen määrittämisestä SAP HANA:ssa SAML:n avulla on artikkelissa SAML SSO for BI Platform to HANA (SAML-kertakirjautuminen BI-alustasta HANA:aan).

Tuemme muita tietolähteitä Kerberoksen avulla (SAP HANA mukaan luettuna).

SAP HANA suosittelee, että otat salauksen käyttöön ennen SAML-kertakirjautumisyhteyden muodostamista. Jos haluat ottaa salauksen käyttöön, määritä HANA-palvelin hyväksymään salatut yhteydet ja määritä sitten yhdyskäytävä käyttämään salausta yhteydenpitoon HANA-palvelimen kanssa. Koska HANA ODBC -ohjain ei oletuksena salaa SAML-vahvistuksia, allekirjoitetut SAML-vahvistukset lähetetään yhdyskäytävästä HANA-palvelimeen selkeästi , joten kolmas osapuoli voi sammuttaa ne ja käyttää niitä uudelleen.

Tärkeä

SAP ei enää tue OpenSSL:ää, koska se on myös lopettanut sen tuen. Aiemmin luodut yhteytesi toimivat edelleen, mutta et voi enää luoda uusia yhteyksiä. Käytä sen sijaan SAP-salauskirjastoa (CommonCryptoLib) tai sapcryptoa.

Yhdyskäytävän ja tietolähteen määrittäminen

Jotta voit käyttää SAML:ää, on muodostettava luottamussuhde HANA-palvelimen, jolle haluat ottaa SSO:n käyttöön, ja yhdyskäytävän välille. Tässä skenaariossa yhdyskäytävä toimii SAML-tunnistetietopalveluna (IdP). Voit muodostaa tämän suhteen eri tavoin. SAP suosittelee, että suoritat asennusvaiheet CommonCryptoLibin avulla. Katso lisätietoja SAP:n virallisesta dokumentaatiosta.

Varmenteiden luominen

Voit muodostaa luottamussuhteen HANA-palvelimen ja yhdyskäytävän IdP:n välille allekirjoittamalla yhdyskäytävän IdP:n X509-varmenteen sellaisella päävarmenteiden myöntäjällä (CA), johon HANA-palvelin luottaa.

Voit luoda varmenteet seuraavasti:

  1. Luo SAP HANAa suorittavalle laitteelle tyhjä kansio varmenteiden tallentamiseksi ja siirry sitten kyseiseen kansioon.

  2. Luo päävarmenteet suorittamalla seuraava komento:

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

    Kopioi ja tallenna tunnuslause, jotta voit allekirjoittaa muita varmenteita tämän varmenteen avulla. Sinun pitäisi nähdä luotavat CA_Cert.pem - ja CA_Key.pem-tiedostot .

  3. Luo IdP-varmenteet suorittamalla seuraava komento:

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

    Sinun pitäisi nähdä luotavat IdP_Key.pem - ja IdP_Req.pem-tiedostot .

  4. Allekirjoita IdP-varmenteet päävarmenteiden avulla:

    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
    

    Sinun pitäisi nähdä luotavat CA_Cert.srl - ja IdP_Cert.pem-tiedostot . Tällä hetkellä käsittelet vain IdP_Cert.pem-tiedostoa .

SAML-tunnistetietopalvelun varmenteen yhdistämismäärityksen luominen

Voit luoda SAML-tunnistetietopalvelun varmenteen yhdistämismäärityksen seuraavasti:

  1. Napsauta SAP HANA Studiossa SAP HANA -palvelimesi nimeä hiiren kakkospainikkeella ja valitse >suojaus avaa tietoturvakonsolin>SAML-tunnistetietopalvelu.

  2. Valitse SAP Salauskirjasto - vaihtoehto. Älä käytä OpenSSL-salauskirjasto-vaihtoehtoa, joka on SAP:n vanhentuma.

    Screenshot of the

  3. Jos haluat tuoda allekirjoitetun varmenteen IdP_Cert.pem-tiedostossa, valitse sininen Tuonti-painike seuraavassa kuvassa esitetyllä tavalla:

    Screenshot of the

  4. Muista määrittää nimi tunnistetietopalvelullesi.

Allekirjoitettujen varmenteiden tuominen ja luominen HANAssa

Voit tuoda ja luoda allekirjoitetut varmenteet HANAssa seuraavasti:

  1. Suorita seuraava kysely SAP HANA Studiossa:

    CREATE CERTIFICATE FROM '<idp_cert_pem_certificate_content>'
    

    Esimerkki:

    CREATE CERTIFICATE FROM
    '-----BEGIN CERTIFICATE-----
    MIIDyDCCArCgA...veryLongString...0WkC5deeawTyMje6
    -----END CERTIFICATE-----
    '
    
  2. Jos ei ole olemassa henkilökohtaista suojausympäristöä (PSE) ja tarkoitusta varten SAML, luo sellainen suorittamalla seuraava kysely SAP HANA Studiossa:

    CREATE PSE SAMLCOLLECTION;
    set pse SAMLCOLLECTION purpose SAML;
    
  3. Lisää juuri luotu allekirjoitettu varmenne PSE:hen suorittamalla seuraava komento:

    alter pse SAMLCOLLECTION add CERTIFICATE <certificate_id>;
    

    Esimerkkejä:

    alter pse SAMLCOLLECTION add CERTIFICATE 1978320;
    

    Voit tarkistaa luotujen varmenteiden luettelon suorittamalla seuraavan kyselyn:

    select * from PUBLIC"."CERTIFICATES"
    

    Varmenne on nyt asennettu oikein. Voit vahvistaa asennuksen suorittamalla seuraavan kyselyn:

    select * from "PUBLIC"."PSE_CERTIFICATES"
    

Käyttäjän yhdistäminen

Voit yhdistää käyttäjän seuraavasti:

  1. Valitse SAP HANA Studiossa Tietoturvakansio.

    Screenshot of the Security folder structure on the left pane.

  2. Laajenna Käyttäjät ja valitse sitten käyttäjä, johon haluat yhdistää Power BI -käyttäjäsi.

  3. Valitse SAML-valintaruutu ja valitse sitten Määritä seuraavassa kuvassa esitetyllä tavalla:

    Screenshot of the

  4. Valitse tunnistetietopalvelu, jonka loit SAML-tunnistetietopalvelun varmenteen luontimääritys -osiossa. Anna Ulkoinen tunnus -kohtaan Power BI -käyttäjän UPN (yleensä sähköpostiosoite, jota käyttäjä käyttää kirjautuessaan Power BI:hin) ja valitse Lisää.

    Screenshot of the

    Jos olet määrittänyt yhdyskäytävän käyttämään ADUserNameReplacementProperty-määritysasetusta , anna arvo, joka korvaa Power BI -käyttäjän alkuperäisen UPN:n. Jos esimerkiksi asetat ADUserNameReplacementProperty-asetuksen arvoksi SAMAccountName, anna käyttäjän SAMAccountName.

Yhdyskäytävän määrittäminen

Nyt kun olet määrittänyt yhdyskäytävän varmenteen ja käyttäjätiedot, muunna varmenne PFX-tiedostomuotoon ja määritä sitten yhdyskäytävä käyttämään varmennetta toimimalla seuraavasti:

  1. Voit muuntaa varmenteen PFX-muotoon suorittamalla seuraavan komennon. Tämä komento määrittää tulokseksi saatavan tiedoston nimeksi samlcert.pfx ja asettaa sen salasanaksi root :

    openssl pkcs12 -export -out samltest.pfx -in IdP_Cert.pem -inkey IdP_Key.pem -passin pass:root -passout pass:root
    
  2. Kopioi PFX-tiedosto yhdyskäytäväkoneeseen:

    a. Kaksoisnapsauta samltest.pfx-tiedostoa ja valitse sitten Paikallinen tietokone>Seuraava.

    b. Anna salasana ja valitse sitten Seuraava.

    c. Valitse Sijoita kaikki varmenteet seuraavaan paikkaan ja valitse sitten Selaa henkilökohtaista>OK:>a.

    Screenshot of the

    d. Valitse Seuraava ja sitten Valmis.

  3. Voit myöntää yhdyskäytävän palvelutilille käyttöoikeuden varmenteen yksityisavaimeen seuraavasti:

    a. Suorita yhdyskäytäväkoneessa Microsoft Management Console (MMC).

    Screenshot of the gateway machine

    b. Valitse MMC:ssä Tiedosto>Lisää/poista laajennus.

    Screenshot of the

    c. Valitse Varmenteet>Lisää ja valitse sitten Tietokonetili>Seuraava.

    d. Valitse Paikallinen tietokone>on valmis>OK.

    e. Laajenna Varmenteet>>, henkilökohtaiset varmenteet ja etsi sitten varmenne.

    f. Napsauta varmennetta hiiren kakkospainikkeella ja valitse sitten Kaikki tehtävät>Yksityisten avainten hallinta.

    Screenshot of the

    g. Lisää yhdyskäytävän palvelutili luetteloon. Tili on oletusarvoisesti NT SERVICE\PBIEgwService. Voit selvittää, mikä tili suorittaa yhdyskäytäväpalvelun suorittamalla services.msc :n ja etsimällä sitten Paikallista tietoyhdyskäytäväpalvelua.

    Screenshot of the

Lisää lopuksi varmenteen allekirjoitus yhdyskäytävän määritykseen:

  1. Jos haluat luetteloita tietokoneessasi olevat varmenteet, suorita seuraava PowerShell-komento:

    Get-ChildItem -path cert:\LocalMachine\My
    
  2. Kopioi luomasi varmenteen allekirjoitus.

  3. Siirry yhdyskäytävän hakemistoon, joka on oletusarvoisesti C:\Program Files\On-premises data gateway .

  4. Avaa PowerBI.DataMovement.Pipeline.GatewayCore.dll.config ja etsi sitten osio nimeltä SapHanaSAMLCertThumbprint . Liitä vaiheessa 2 kopioimasi allekirjoitus.

  5. Käynnistä yhdyskäytäväpalvelu uudelleen.

Power BI -raportin suorittaminen

Nyt voit käyttää Power BI:n yhdyskäytävän hallintasivua SAP HANA -tietolähteen määrittämiseen. Ota lisäasetukset Asetukset -kohdassa kertakirjautuminen käyttöön SAML:n kautta. Näin voit julkaista kyseiseen tietolähteeseen sidotut raportit ja tietojoukot.

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

Muistiinpano

Kertakirjautuminen käyttää Windows-todennusta, joten varmista, että Windows-tili voi käyttää yhdyskäytäväkonetta. Jos et ole varma, varmista, että lisäät NT-AUTHORITY\Authenticated Users (S-1-5-11) paikallisen tietokoneen Käyttäjät-ryhmään.

SAML:n vianmääritys sap HANA -kertakirjautumista varten

Tässä osiossa on laajoja vaiheita SAML:n vianmääritykseen kertakirjautumista varten SAP HANAan. Näiden vaiheiden avulla voit itsediagnosoida ja korjata mahdolliset ongelmat.

Hylätyt tunnistetiedot

Kun olet määrittänyt SAML-pohjaisen kertakirjautumisen, saatat saada seuraavan virheilmoituksen Power BI -portaalista: "Annettuja tunnistetietoja ei voida käyttää SapHana-lähteelle.". Tämä virheilmoitus ilmaisee, että SAP HANA on hylännyt SAML-tunnistetiedot.

Palvelinpuolen todentamisen jäljitystietojen avulla saat yksityiskohtaisia tietoja SAP HANA:n tunnistetieto-ongelmien vianmääritystä varten. Määritä SAP HANA -palvelimen seuranta seuraavasti:

  1. Käynnistä todentamisen jäljitys SAP HANA -palvelimella suorittamalla seuraava kysely:

    ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') set ('trace', 'authentication') = 'debug' with reconfigure 
    
  2. Yritä toistaa ongelma.

  3. Avaa SAP HANA Studion hallintakonsoli ja valitse sitten Diagnoositiedostot-välilehti .

  4. Avaa viimeisin indeksipalvelimen jäljitys ja hae SAMLAuthenticator.cpp.

    Sinun pitäisi löytää yksityiskohtainen virhesanoma, joka ilmaisee pääsyyn, kuten seuraavassa esimerkissä esitetään:

    [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. Kun olet suorittanut vianmäärityksen, poista todentamisen jäljitys käytöstä suorittamalla seuraava kysely:

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

Yhdyskäytävävirheiden tarkistaminen ja vianmääritys

Jotta voit noudattaa tämän osion ohjeita, sinun on kerättävä yhdyskäytävälokeja.

SSL-virhe (varmenne)

Virhe-oireet

Tällä ongelmalla on useita oireita. Kun yrität lisätä uuden tietolähteen, saatat saada seuraavankaltaisen virheilmoituksen:

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

Kun yrität luoda tai päivittää raporttia, saatat saada seuraavan kuvan kaltaisen virheilmoituksen:

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

Kun tutkit Mashup[date]*-.log, näet seuraavan virhesanoman:

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

Päätöslauselman

Voit korjata tämän SSL-virheen siirtymällä tietolähdeyhteyteen ja valitsemalla avattavasta Vahvista palvelinvarmenne -luettelosta Ei seuraavan kuvan mukaisesti:

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

Kun olet valinnut tämän asetuksen, virhesanoma ei enää tule näkyviin.

Yhdyskäytävän SignXML-virhe

Yhdyskäytävän SignXML-virhe voi johtua virheellisistä SapHanaSAMLCertThumbprint-asetuksista tai se voi olla ongelma HANA-palvelimessa. Yhdyskäytävälokien merkinnät auttavat tunnistamaan, missä ongelma sijaitsee ja miten se ratkaistaan.

Virhe-oireet

Lokimerkinnät kohteilleSignXML: Found the cert...: Jos GatewayInfo[date].log -tiedosto sisältää tämän virheen, SignXML-varmenne löydettiin ja vianmääritystyössä tulee keskittyä vaiheisiin, jotka löytyvät HANA-palvelimen puolen Vahvista ja tee vianmääritys -osiosta.

Lokimerkinnät kohteille Couldn't find saml cert: Jos GatewayInfo[date].log -tiedosto sisältää tämän virheen, SapHanaSAMLCertThumbprint on määritetty virheellisesti. Seuraavassa ratkaisuosiossa kuvataan ongelman ratkaiseminen.

Päätöslauselman

Määritä SapHanaSAMLCertThumbprint oikein noudattamalla "Määritä yhdyskäytävä" -osion ohjeita. Ohjeet alkavat lopuksi lisäämällä varmenteen allekirjoitus yhdyskäytävän määritykseen.

Kun olet muuttanut määritystiedostoa, sinun on käynnistettävä yhdyskäytäväpalvelu uudelleen, jotta muutos tulee voimaan.

Vahvistus

Kun SapHanaSAMLCertThumbprint on määritetty oikein, yhdyskäytävälokeissasi on tietoja, jotka sisältävät sisällön SignXML: Found the cert.... Tässä vaiheessa sinun pitäisi pystyä jatkamaan HANA-palvelimen puolen tarkistaminen ja vianmääritys - osioon.

Jos yhdyskäytävä ei voi käyttää varmennetta SAML-vahvistuksen allekirjoittamiseen, saatat nähdä seuraavanlaisissa lokeissa virheen:

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.

Voit korjata tämän virheen noudattamalla ohjeita, jotka alkavat vaiheessa 3 "Määritä yhdyskäytävä" -osiossa.

Kun olet muuttanut määrityksen, käynnistä yhdyskäytäväpalvelu uudelleen, jotta muutos tulee voimaan.

HANA-palvelimen puolen tarkistaminen ja vianmääritys

Käytä tämän osion ratkaisuja, jos yhdyskäytävä löytää varmenteen ja allekirjoittaa SAML-vahvistuksen, mutta sinulla on edelleen virheitä. Sinun on kerättävä HANA-todentamisen jäljitystietoja, jotka kuvattiin aiemmin "Hylätyt tunnistetiedot" -osiossa.

SAML-tunnistetietopalvelu

Merkkijonon Found SAML provider esiintyminen HANA-todentamisen jäljitystoiminnoissa ilmaisee, että SAML-tunnistetietopalvelu on määritetty oikein. Jos merkkijonoa ei ole, määritys on väärä.

Päätöslauselman

Selvitä ensin, käyttääkö organisaatiosi OpenSSL:ää vai commoncryptoa sslcryptoproviderina. Voit selvittää, mitä palvelua käytetään, toimi seuraavasti:

  1. Avaa SAP HANA Studio.

  2. Avaa käyttämäsi vuokraajan Hallinta hallintakonsoli.

  3. Valitse Määritys-välilehti ja käytä sslcryptoprovider-ohjausobjektia suodattimena seuraavassa kuvassa esitetyllä tavalla:

    Screenshot of the sslcryptoprovider information in SAP HANA Studio.

Varmista seuraavaksi, että salauskirjasto on määritetty oikein, toimimalla seuraavasti:

  1. Siirry SAP HANA Studion tietoturvakonsoliin valitsemalla SAML-tunnistetietojen palveluntarjoajien välilehti ja tee jompikumpi seuraavista:

    • Jos sslcryptoprovider on OpenSSL, valitse OpenSSL-salauskirjasto.
    • Jos sslcryptoprovider on commonCrypto, valitse SAP Salauskirjasto.

    Seuraavassa kuvassa on valittuna SAP-salauskirjasto :

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

  2. Ota muutokset käyttöön valitsemalla Ota käyttöön -painike oikeasta yläkulmasta seuraavassa kuvassa esitetyllä tavalla:

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

Vahvistus

Kun jäljitys on määritetty oikein, ne raportoivat Found SAML provider eivätkä tee raporttiaSAML Provider not found. Voit jatkaa seuraavaan osioon "SAML-vahvistuksen allekirjoituksen vianmääritys".

Jos salauspalvelu on määritetty, mutta SAML Provider not found raportoidaan edelleen, etsi merkkijono jäljityskoosta, joka alkaa seuraavalla tekstillä:

Search SAML provider for certificate with subject =

Varmista tässä merkkijonossa, että aihe ja myöntäjä ovat täsmälleen samat kuin tietoturvakonsolin SAML-tunnistetietopalvelun välilehdessä. Jopa yhden merkin ero voi aiheuttaa ongelman. Jos huomaat eron, voit korjata ongelman SAP-salauskirjastossa niin, että merkinnät vastaavat tarkasti.

Jos SAP-salauskirjaston muuttaminen ei korjaa ongelmaa, voit muokata myönnettyjen ja myönnettyjen kenttien kenttiä manuaalisesti kaksoisnapsauttamalla niitä.

SAML-vahvistuksen allekirjoituksen vianmääritys

HANA-todentamisen jäljitystiedot voivat sisältää seuraavien merkintöjen kaltaisia merkintöjä:

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

Tällaisten merkintöjen mukanaolo tarkoittaa, ettei allekirjoitusta luoteta.

Päätöslauselman

Jos käytät OpenSSL:ää sslcryptoprovider-hakemistona, tarkista, ovatko trust.pem - ja key.pem-tiedostot SSL-hakemistossa. Lisätietoja on SAP-blogissa , joka suojaa SAP HANA Studion ja SAP HANA -palvelimen välisen tietoliikenteen SSL:n kautta.

Jos käytät commoncrypto-salausta sslcryptoprovider-parametrina, tarkista, onko vuokraajassa kokoelma, joka käyttää varmennettasi.

Vahvistus

Kun jäljitys on määritetty oikein, ne raportoivat Found valid XML signature.

UPN-liittämisen vianmääritys

Saatat löytää HANA-jäljitystiedostoja, jotka sisältävät seuraavien merkintöjen kaltaisia merkintöjä:

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

Virhe ilmaisee, että nameId johnny@contoso.com löytyy SAML-vahvistuksista, mutta sitä ei ole olemassa tai sitä ei ole yhdistetty oikein HANA-palvelimessa.

Päätöslauselman

Siirry HANA-tietokannan käyttäjään ja valitse valitun SAML-valintaruudun alta Määritä-linkki . Näyttöön avautuu seuraava ikkuna:

Screenshot showing that the incorrect user name is displayed.

Kuten virhesanomassa kuvataan, HANA yritti löytää johnny@contoso.comkohteen , mutta ulkoiset käyttäjätiedot näytetään vain johnnyna. Näiden kahden arvon on vastattava toisiaan. Voit korjata ongelman muuttamalla ulkoiset käyttäjätiedot -kohdan arvoksi johnny@contoso.com. Huomaa, että tässä arvossa kirjainkoko on merkitsevä.

Lisätietoja paikallisesta tietoyhdyskäytävästä ja DirectQuerysta on seuraavissa resursseissa: