Konfigurace katalogových databází Server sestav Power BIu pro SQL Server na Linuxu.

Platí pro: SQL Server 2019 (15.x) a novější verze ve službě Linux SQL Server Reporting Services (2019 a novější verze)

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

Předpoklady

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

Konfigurace počítačů

Počítač 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í Server sestav Power BIu (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, běžící na SQL Server 2019 (15.x) s nejnovější kumulativní aktualizací (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

Tento příklad používá oddělené servery a samostatné účty, aby bylo zajištěno, že delegace Kerberosu funguje správně (tedy zvládá scénáře s dvojitým skokem).

Konfigurace SQL Serveru v Linuxu

Než nakonfigurujete (nebo překonfigurujete) PBIRS tak, aby používal SQL Server on Linux jako backend pro hostování databází katalogu Report Server, ujistěte se, že instance SQL Server on Linux je připojena k doméně.

Pro instalaci, konfiguraci adutil a připojení k doméně postupujte podle pokynů v tutoriálu: Použijte adutil k konfiguraci autentizace služba Active Directory pomocí SQL Server on Linux.

Note

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 nakonfigurujte požadované SPN na doméně CORPNET . Můžete použít účet s oprávněními správce domény, ale stačí jakýkoli účet s dostatečnými oprávněními pro vytváření SPN. Po vytvoření SPN nakonfigurujte účty tak, aby používaly delegaci omezenou Kerberosem.

Tento scénář vyžaduje následující minimální SPN:

  • Z administrátorského příkazového řádku vytvořte SPN pro účet služby SQL Server on Linux. 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 Server sestav Power BIu.

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

Pro zpracování požadavků Kerberosu na přeposílání Kerberos tiketů při provozu v rámci implementace omezené delegace konfigurujete delegaci pomocí rozšíření Microsoft pro MIT Kerberos standard, jak je specifikováno v RFC 4120, a používáte službu pro uživatele na proxy (S4U2proxy). Tento mechanismus umožňuje službám PBIRS a SQL Server získávat servisní tikely k jiným specifikovaným službám jménem uživatele.

Například když se ověří reportuser webovým rozhraním serveru PBIRS pro zobrazení zprávy, zpráva se spustí a musí přistupovat k datům ze zdroje, jako je tabulka SQL Server. Služba SQL Server musí získat Kerberos reportuser service ticket, který byl serveru PBIRS udělen během autentizace. Rozšíření S4U2proxy poskytuje potřebný protokolový přechod pro předání požadovaných přihlašovacích údajů bez přeposílání uživatelského TGT (ticket granting ticket) nebo uživatelského relačního klíče.

Pro dosažení tohoto výsledku udělte účtu služby PBIRS (pbirsservicev tomto příkladu) a účtu služby SQL Server (linuxservicev tomto příkladu) Trusted To Authenticate for Delegation přímo v doméně. Toto právo můžete udělit různými způsoby (například ADSI Edit nebo uživatelské rozhraní počítače a uživatelů). Tento příklad používá zvýšený PowerShell příkaz:

  • 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)

Nainstalujte PBIRS pouze v režimu konfigurace .

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 instalace aktualizujte jeden z konfiguračních souborů PBIRS, buď v uživatelském rozhraní, nebo přes příkazovou řádku, před dokončením konfigurace PBIRS. Pokud používáte stávající instalaci PBIRS, proveďte úpravy a restartujte službu PBIRS, aby změny začaly platit. Konfigurační soubor je rsreportserver.config. Je to na cestě, kde je instalován 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

Použijte jakýkoli textový editor k úpravě tohoto XML souboru. Zkopírujte soubor před úpravou. Po otevření souboru vyhledejte AuthenticationTypes tag v XML dokumentu a přidejte atributy RSWindowsNegotiate and RSWindowsKerberos před RSWindowsNTLM atribut. Příklad:

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

Tento krok musíte dokončit, protože SQL Server on Linux podporuje pouze ověřování SQL a Kerberos.

Note

Stačí uvést pouze atributRSWindowsKerberos, ale RSWindowsNegotiate je to užitečné, pokud chcete standardizovat konfigurační soubory PBIRS napříč flotilou serverů, které podporují kombinaci Windows a Linux SQL Server instancí.

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 přidejte reportuser jako přihlášení na SQL Server pro testovací účely. V tomto případě jste zvolili jednoduchý přístup a přidali uživatele do db_datareader pevné databázové role ve dvou uživatelských databázích: 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í.