Megosztás:


Power BI jelentéskészítő kiszolgáló katalógusadatbázisainak konfigurálása Linuxon futó SQL Serverhez

A következőkre vonatkozik: SQL Server 2019 (15.x) és újabb verziók Linux SQL Server Reporting Servicesen (2019- és újabb verziók)

Ez a cikk bemutatja, hogyan telepítheti és konfigurálhatja a Power BI jelentéskészítő kiszolgáló (PBIRS) katalógusadatbázisát linuxos SQL Serverhez.

Előfeltételek

Ebben a cikkben a példák a CORPNET.CONTOSO.COMtartományt és az alábbi konfigurációt használják.

Gépek konfigurálása

Gép Operációs rendszer Részletek
Windows tartományvezérlő Windows Server 2019 vagy Windows Server 2022
Jelentéskészítés és üzembe helyezés (WIN19) Visual Studio 2019-et futtató Windows Server 2019 - Jelentéskészítés és üzembe helyezés

– Fájlmegosztási szolgáltatások, amelyek adattárként szolgálnak az igényalapú vagy ütemezett jelentéskimenethez
SQL Server Reporting Services (WIN22) A Power BI jelentéskészítő kiszolgáló (PBIRS) támogatott verzióját futtató Windows Server 2022 1
Fejlesztői gép Sql Server Management Studio (SSMS) rendszert futtató Windows 11-ügyfél
SQL Server 2019 (rhel8test) Red Hat Enterprise Linux (RHEL) 8.x Server, a legújabb CU-val az SQL Server 2019 (15.x) futtatásához

Fiókok konfigurálása

Fióknév Részletek
CORPNET\cluadmin Globális felhasználói fiók. Helyi rendszergazdai fiók az összes Windows-kiszolgálón, kivéve a tartományvezérlőt.
CORPNET\pbirsservice PBIRS szolgáltatásfiók
CORPNET\linuxservice SQL Server-szolgáltatásfiók (csak a Linux-környezetben futó SQL Serverhez jön létre)
CORPNET\reportuser A PBIRS normál felhasználójának szimulálására használt globális felhasználói fiók

Ebben a példaforgatókönyvben külön kiszolgálókat és különálló fiókokat használunk annak biztosítására, hogy a Kerberos-delegálás megfelelően működjön (azaz a kettős ugrásos forgatókönyvek kezelése folyamatban van).

SQL Server Linux konfiguráció

Mielőtt továbblép a PBIRS konfigurálásához (vagy újrakonfigurálásához) az SQL Server linuxos háttérrendszerként való használatához a jelentéskészítő kiszolgáló katalógusadatbázisainak üzemeltetéséhez, győződjön meg arról, hogy a Linux-példányon futó SQL Server csatlakozik a tartományhoz.

Telepítheti és konfigurálhatja az adutilalkalmazást, valamint csatlakozhat a tartományhoz az oktatóanyagban található utasítások alapján: hogyan konfigurálja az Active Directory-hitelesítést azSQL Serverhez Linux rendszeren adutil segítségével.

Jegyzet

Az RHEL 8 egyes csomagjaival kapcsolatos információkért lásd RHEL-rendszerek közvetlen csatlakoztatása az AD-hez SSSDhasználatával.

SQL Server szolgáltatási főnév (SPN)

A PBIRS telepítése és konfigurálása előtt konfigurálnia kell a szükséges SPN-eket a CORPNET tartományban. Ebben az esetben egy tartományi adminisztrátori jogosultságokkal rendelkező felhasználó használható, de bármely felhasználó, aki rendelkezik elegendő engedéllyel az SPN-ek létrehozásához, szintén elegendő. A szolgáltatási név (SPN) létrehozása után a fiókokat be kell állítani a Kerberos korlátozott delegálás használatára.

Az alábbiak a forgatókönyvhöz minimálisan szükséges szolgáltatás-azonosítók:

  • Rendszergazdai parancssor használatával hozza létre a SPN-t a Linuxos SQL Server szolgáltatásfiókhoz. Ez a példány az alapértelmezett 1433-as portot használja.

    setspn -S MSSQLSvc/rhel8test:1433 CORPNET\linuxservice
    setspn -S MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433 CORPNET\linuxservice
    
  • A következő két SPN a Power BI Report Server szolgáltatásfiókjához tartozik.

    setspn -S HTTP/WIN22.CORPNET.CONTOSO.COM CORPNET\pbirsservice
    setspn -S HTTP/WIN22 CORPNET\pbirsservice
    

A Kerberos-jegyek továbbítására vonatkozó Kerberos-követelmények kezeléséhez korlátozott delegálási implementáció esetén a delegálást a MIT Kerberos szabványra vonatkozó Microsoft kiterjesztése alapján konfiguráljuk, a RFC 4120előírásainak megfelelően, és a Szolgáltatás felhasználáshoz proxyként (S4U2proxy)-t használjuk. Ez a mechanizmus lehetővé teszi a PBIRS szolgáltatás és az SQL Server szolgáltatás számára, hogy a felhasználó nevében más meghatározott szolgáltatásokhoz szerezze be a szolgáltatásjegyeket.

Ha például a reportuser hitelesíti a PBIRS-kiszolgáló webes felületét egy jelentés megtekintéséhez, a jelentés végrehajtja a jelentést, és hozzá kell férnie egy adatforrásból, például egy SQL Server-táblából származó adatokhoz. Az SQL Server szolgáltatásnak be kell szereznie a reportuser Kerberos-szolgáltatásjegyet, amelyet a PBIRS-kiszolgálónak adott a hitelesítési folyamat során. Az S4U2proxy bővítmény biztosítja a szükséges protokollváltást a szükséges hitelesítő adatok átadásához anélkül, hogy a felhasználó TGT-jét (jegykiadó jegyet) vagy a felhasználó munkamenetkulcsát kellene továbbítania.

Ennek eléréséhez a PBIRS szolgáltatásfióknak (ebben a példábanpbirsservice) és az SQL Server szolgáltatásfióknak (ebben a példábanlinuxservice) meg kell adni a „Delegáláshoz szükséges megbízható hitelesítés” jogát a tartományban. A jog megadásának több módja is van (például az ADSI Edit, vagy a számítógépek és felhasználók felhasználói felülete stb.). Ebben a példában egy emelt szintű PowerShell-parancsot használunk:

  • Kérje le az SQL Server szolgáltatásfiókot, és állítsa be a delegálás engedélyezéséhez. Ez a lépés nem csak a Kerberos delegálást teszi lehetővé, hanem az S4U2proxy (protokollváltáshoz) delegálást is a fiókon. Az utolsó két parancsmag a delegálási jogosultságot alkalmazza a tartomány meghatározott erőforrásaira, az SQL Server példány SPN-jeire.

    Get-ADUser -Identity linuxservice | Set-ADAccountControl -TrustedToAuthForDelegation $True
    Set-ADUser -Identity linuxservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433')}
    Set-ADUser -Identity linuxservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test:1433')}
    
  • Kérje le a Power BI jelentéskészítő kiszolgáló szolgáltatásfiókot, és állítsa be a delegálás engedélyezéséhez. Ez a lépés nem csak a Kerberos delegálást teszi lehetővé, hanem az S4U2proxy (protokollváltáshoz) delegálást is a fiókon. A két utolsó parancsmag a delegációs jogosultságot alkalmazza a tartomány egyes erőforrásaira, az SQL Server és a PBIRS szerver SPN-jeire.

    Get-ADUser -Identity pbirsservice | Set-ADAccountControl -TrustedToAuthForDelegation $True
    Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433')}
    Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test:1433')}
    Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('HTTP/Win22.CORPNET.CONTOSO.COM')}
    Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('HTTP/Win22')}
    

Power BI jelentéskészítő kiszolgáló (PBIRS)

A PBIRS-t csak konfigurációban, módban kellene telepíteni.

Közvetlenül a PBIRS telepítése után konfigurálnia kell, hogy támogassa a Kerberos-hitelesítést. A PBIRS alapértelmezés szerint csak az NTLM-hitelesítést támogatja. A telepítési folyamat során frissítenie kell az egyik PBIRS-konfigurációs fájlt a PBIRS konfigurációs folyamatának befejezése előtt, akár a felhasználói felületen, akár a parancssoron keresztül. Ha meglévő PBIRS-telepítést használ, akkor is végre kell hajtania a módosításokat, és a PBIRS szolgáltatást újra kell indítani a érvénybe lépéshez. A konfigurációs fájl a rsreportserver.config. Az elérési útvonalon található, ahol a PBIRS telepítve van. A PBIRS alapértelmezett telepítésekor például a fájl a következő helyen található:

C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer

Ez az XML-fájl bármely szövegszerkesztőben szerkeszthető. Szerkesztés előtt ne felejtsen el másolatot készíteni a fájlról. Miután megnyitotta a fájlt, keresse meg a AuthenticationTypes címkét az XML-dokumentumban, és adja hozzá a RSWindowsNegotiate és RSWindowsKerberos attribútumokat a RSWindowsNTLM attribútum előtt. Például:

<Authentication>
<AuthenticationTypes>
    <RSWindowsNegotiate/>
    <RSWindowsKerberos/>
    <RSWindowsNTLM/>
</AuthenticationTypes>

Erre a lépésre azért van szükség, mert a Linuxon futó SQL Server csak az SQL és a Kerberos hitelesítést támogatja.

Jegyzet

Csak a RSWindowsKerberos attribútumot kell belefoglalnunk, de a RSWindowsNegotiate használata akkor hasznos, ha a Windows és Linux SQL Server-példányok keverékét támogató kiszolgálóflotta PBIRS-konfigurációs fájljainak szabványosítása szükséges.

PBIRS felhasználói felület konfigurálása

Miután a PBIRS szolgáltatást újraindították a konfigurációs fájl szerkesztése után, folytathatja a PBIRS fennmaradó konfigurációs beállításait, például beállíthatja a tartományalapú szolgáltatásfiókot, és csatlakozhat a távoli SQL Serverhez Linux-példányon.

A PBIRS szolgáltatásfióknak megfelelő engedélyekkel kell megjelennie az SQL Server-példányban. Az engedélyeket az SQL Server Management Studióban (SSMS) ellenőrizheti. Az Object Explorerben lépjen Biztonsági > Bejelentkezésekelemre, kattintson a jobb gombbal a CORPNET\pbirsservice fiókra, és válassza a Tulajdonságoklehetőséget. Az engedélyek a Felhasználó hozzárendelés lapon láthatók.

Végül hozzáadhatjuk a reportuser bejelentkezésként az SQL Serveren tesztelési célokra. Ebben az esetben az egyszerű gombot vettük fel, és hozzáadtuk a felhasználót a db_datareader szerepkörhöz két felhasználói adatbázisban: AdventureWorks és AdventureWorksDW.

A jelentések telepítése után

Ha a jelentések üzembe helyezése után jelentés-előfizetéseket kell beállítania, ajánlott a beágyazott hitelesítő adatok konfigurálása a PBIRS-adatforrásokban. Az összes hitelesítőadat-beállítás rendben működik, kivéve a beágyazott hitelesítő adatok használatát a a jelentést megtekintő felhasználó megszemélyesítése opcióval konfigurált beállítással. Ez a lépés windowsos hitelesítő adatok használata esetén meghiúsul, mert a Linux-implementációra vonatkozó SQL Server korlátozása megnehezíti a megszemélyesítést.