Sdílet prostřednictvím


Konfigurace katalogových databází Power BI Report Serveru pro SQL Server na Linuxu.

platí pro: SQL Server 2019 (15.x) a novější – Linux SQL Server Reporting Services (2019 a novější)

Tento článek vysvětluje, jak nainstalovat a nakonfigurovat databázi katalogu Serveru sestav Power BI (PBIRS) pro SQL Server v Linuxu.

Požadavky

V tomto článku příklady používají doménu CORPNET.CONTOSO.COMa následující konfiguraci.

Konfigurace počítačů

Stroj Operační systém Podrobnosti
Řadič domény s Windows Windows Server 2019 nebo Windows Server 2022
Vývoj a nasazení sestav (WIN19) Windows Server 2019, na kterém běží Visual Studio 2019 – Vývoj a nasazení sestav

– Služby sdílených souborů, které slouží jako úložiště pro výstup sestav na vyžádání nebo plánovaných sestav.
SQL Server Reporting Services (WIN22) Windows Server 2022 s podporovanou verzí Power BI Report Serveru (PBIRS) 1
Vývojářský počítač Klient Windows 11 se systémem SQL Server Management Studio (SSMS)
SQL Server 2019 (rhel8test) Red Hat Enterprise Linux (RHEL) 8.x Server s nainstalovaným SQL Serverem 2019 (15.x) s nejnovější CU

Konfigurace účtů

Název účtu Podrobnosti
CORPNET\cluadmin Globální uživatelský účet. Účet místního správce na všech serverech s Windows s výjimkou řadiče domény.
CORPNET\pbirsservice Účet služby PBIRS
CORPNET\linuxservice Účet služby SQL Serveru (vytvořený pouze pro SQL Server v linuxovém prostředí)
CORPNET\reportuser Globální uživatelský účet použitý k simulaci normálního uživatele PBIRS

V tomto ukázkovém scénáři se používají samostatné servery a samostatné účty, aby se zajistilo, že delegování Kerberos funguje správně (to znamená, že dvojité hop scénáře jsou správně zpracovávány).

Konfigurace SQL Serveru v Linuxu

Než budete pokračovat v konfiguraci (nebo rekonfiguraci) PBIRS tak, aby jako back-end používal k hostování katalogových databází serveru sestav SQL Server na Linuxu, ujistěte se, že instance SQL Serveru na Linuxu je připojena k doméně.

Můžete nainstalovat a nakonfigurovat adutila připojit se k doméně podle pokynů v Kurzu: Použití nástroje adutil ke konfiguraci ověřování služby Active Directory s SQL Serverem v Linuxu.

Poznámka

Informace o konkrétních balíčcích na RHEL 8 naleznete v tématu Připojení systémů RHEL přímo k AD pomocí SSSD.

Hlavní názvy služby SQL Serveru (SPN)

Před instalací a konfigurací PBIRS je nutné nakonfigurovat požadované hlavní názvy služby (SPN) v CORPNET doméně. V tomto případě je možné použít uživatele s oprávněními Správce domény, ale jakýkoli uživatel s dostatečnými oprávněními k vytvoření SPN (hlavních názvů služeb) postačí. Po vytvoření hlavního názvu služby (SPN) je potřeba nakonfigurovat účty tak, aby používaly omezené delegování Kerberos.

Tady jsou minimální požadované hlavní názvy služeb (SPN) pro tento scénář:

  • Pomocí příkazového řádku s oprávněním správce vytvořte SPN pro účet služby SQL Server na Linuxu. Tato instance používá výchozí port 1433:

    setspn -S MSSQLSvc/rhel8test:1433 CORPNET\linuxservice
    setspn -S MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433 CORPNET\linuxservice
    
  • Další dvě SPN jsou určené pro účet služby Power BI Report Serveru.

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

Pro zpracování požadavků protokolu Kerberos na předávání lístků Kerberos při provozu v rámci implementace omezeného delegování nakonfigurujeme delegování pomocí rozšíření Microsoftu na standard MIT Kerberos, jak je uvedeno v RFC 4120a používáme službu Service for User to Proxy (S4U2proxy). Tento mechanismus umožňuje službě PBIRS a službě SQL Serveru získat lístky služeb pro jiné zadané služby jménem uživatele.

Když se například reportuser ověří pomocí webového rozhraní serveru PBIRS pro zobrazení sestavy, spustí se sestava a musí přistupovat k datům ze zdroje dat, jako je tabulka SQL Serveru. Služba SQL Serveru musí získat lístek služby reportuser Kerberos, který byl udělen během procesu ověřování serveru PBIRS. Rozšíření S4U2proxy poskytuje potřebný přechod protokolu, aby bylo možné předat požadované přihlašovací údaje, aniž by bylo nutné předávat uživatelův TGT (ticket pro udělení lístku) nebo uživatelský klíč relace.

Aby toho bylo možné dosáhnout, musí být účtu služby PBIRS (pbirsservice v tomto příkladu) a účtu služby SQL Server (linuxservice v tomto příkladu) udělena práva "Důvěryhodný pro autentizaci v rámci delegace" v doméně. Existuje několik způsobů, jak udělit toto právo (to znamená ADSI Edit, Computer and Users UI atd.). V tomto příkladu používáme příkaz PowerShellu se zvýšenými oprávněními:

  • Získejte účet služby SQL Server a nastavte ho tak, aby umožňoval delegování. Tento krok umožňuje nejen delegování Protokolu Kerberos, ale delegování S4U2proxy (pro přechod protokolu) na účtu. Poslední dva příkazy cmdlet aplikují práva delegování na konkrétní prostředky v doméně, tedy hlavní názvy služby (SPN) pro instanci SQL Serveru.

    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')}
    
  • Získejte uživatelský účet služby serveru sestav Power BI a nastavte jej, aby umožňoval delegování. Tento krok umožňuje nejen delegování Protokolu Kerberos, ale delegování S4U2proxy (pro přechod protokolu) na účtu. Poslední dvě příkazové rutiny aplikují oprávnění pro delegování na konkrétní prostředky v doméně, hlavní názvy služby (SPN) pro SQL Server a server PBIRS.

    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')}
    

Server zpráv Power BI (PBIRS)

PBIRS by se měl nainstalovat pouze v konfiguraci a režimu.

Ihned po instalaci PBIRS ho musíte nakonfigurovat tak, aby podporoval ověřování Kerberos. PBIRS ve výchozím nastavení podporuje pouze ověřování NTLM. Během procesu instalace musíte aktualizovat jeden z konfiguračních souborů PBIRS před dokončením procesu konfigurace PBIRS, a to buď v uživatelském rozhraní, nebo přes příkazový řádek. Pokud používáte existující instalaci PBIRS, musíte přesto provést úpravy a služba PBIRS se musí restartovat, aby se projevila. Konfigurační soubor je rsreportserver.config. Je v cestě, kde se nainstalovala PBIRS. Například ve výchozí instalaci PBIRS je soubor v následujícím umístění:

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

Tento soubor XML lze upravit v libovolném textovém editoru. Před úpravami nezapomeňte vytvořit kopii souboru. Po otevření souboru vyhledejte značku AuthenticationTypes v dokumentu XML a přidejte atributy RSWindowsNegotiate a RSWindowsKerberos před atribut RSWindowsNTLM. Například:

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

Tento krok je povinný, protože SQL Server v Linuxu podporuje pouze ověřování SQL a Kerberos.

Poznámka

Musíme zahrnout pouze atribut RSWindowsKerberos, ale použití RSWindowsNegotiate je užitečné, pokud se vyžaduje standardizace konfiguračních souborů PBIRS napříč vozovým parkem serverů, které podporují kombinaci instancí SQL Serveru s Windows a Linuxem.

Konfigurace uživatelského rozhraní PBIRS

Po restartování služby PBIRS po dokončení úprav konfiguračního souboru můžete pokračovat ve zbývajících možnostech konfigurace PBIRS, jako je nastavení účtu služby založené na doméně a připojení ke vzdálenému SQL Serveru v instanci Linuxu.

Účet služby PBIRS by se měl objevit v instanci SQL Serveru s příslušnými oprávněními. Oprávnění můžete zkontrolovat v aplikaci SQL Server Management Studio (SSMS). V Průzkumníku objektů přejděte na Security > Logins, klikněte pravým tlačítkem na CORPNET\pbirsservice účet a vyberte Vlastnosti. Oprávnění jsou viditelná na stránce Mapování Uživatelů.

Nakonec můžeme přidat reportuser jako přihlášení k SQL Serveru pro účely testování. V tomto případě jsme vzali tlačítko Snadné a přidali jsme uživatele do role db_datareader do dvou uživatelských databází: AdventureWorks a AdventureWorksDW.

Po nasazení zpráv

Pokud po nasazení sestav potřebujete nastavit odběry sestav, je vhodné nakonfigurovat vložené přihlašovací údaje ve zdrojích dat PBIRS. Všechny možnosti přihlašovacích údajů fungují správně, s výjimkou použití vložených přihlašovacích údajů nakonfigurovaných s možností zosobnit uživatele prohlížejícího si sestavu. Tento krok selže při použití přihlašovacích údajů systému Windows kvůli omezení v implementaci SQL Serveru v Linuxu, která ztěžuje zosobnění.