Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för: SQL Server 2019 (15.x) och senare – Linux
SQL Server Reporting Services (2019 och senare)
I den här artikeln beskrivs hur du installerar och konfigurerar Power BI-rapportserverns katalogdatabas (PBIRS) för SQL Server i Linux.
Förutsättningar
I den här artikeln använder exemplen domänen CORPNET.CONTOSO.COMoch följande konfiguration.
Konfigurera datorer
| Maskin | Operativsystem | Detaljer |
|---|---|---|
| Windows-domänkontrollant | Windows Server 2019 eller Windows Server 2022 | |
Rapportutveckling och distribution (WIN19) |
Windows Server 2019, som kör Visual Studio 2019 | – Rapportera utveckling och distribution – Filresurstjänster som ska fungera som en lagringsplats för efterfrågedrivna eller schemalagda rapportutdata |
SQL Server Reporting Services (WIN22) |
Windows Server 2022, som kör en version av Power BI-rapportservern (PBIRS) som stöds 1 | |
| Utvecklardator | Windows 11-klient som kör SQL Server Management Studio (SSMS) | |
SQL Server 2019 (rhel8test) |
Red Hat Enterprise Linux (RHEL) 8.x Server, som kör SQL Server 2019 (15.x) med den senaste CU |
Konfigurera konton
| Kontonamn | Detaljer |
|---|---|
CORPNET\cluadmin |
Globalt användarkonto. Lokalt administratörskonto på alla Windows-servrar förutom domänkontrollanten. |
CORPNET\pbirsservice |
PBIRS-tjänstkonto |
CORPNET\linuxservice |
SQL Server-tjänstkonto (skapas bara för SQL Server i Linux-miljön) |
CORPNET\reportuser |
Globalt användarkonto som används för att simulera en normal användare av PBIRS |
Separata servrar och separata konton används i det här exempelscenariot för att säkerställa att Kerberos-delegeringen fungerar korrekt (det vill säga att dubbelhoppsscenarier hanteras).
SQL Server i Linux-konfiguration
Innan du fortsätter med konfigurationen (eller omkonfigurationen) av PBIRS för att använda SQL Server på Linux som serverdel som värd för rapportserverkatalogdatabaserna, kontrollerar du att SQL Server på Linux-instansen har anslutits till domänen.
Du kan installera och konfigurera adutiloch ansluta till domänen genom att följa anvisningarna i Självstudie: Använd adutil för att konfigurera Active Directory-autentisering med SQL Server på Linux.
Not
Information om specifika paket på RHEL 8 finns i Ansluta RHEL-system direkt till AD med SSSD-.
SQL Server-tjänstens huvudnamn (SPN)
Innan du installerar och konfigurerar PBIRS måste du konfigurera nödvändiga SPN på CORPNET-domänen. En användare med domänadministratörsbehörighet kan användas i det här fallet, men alla användare med tillräcklig behörighet för att skapa SPN räcker. När SPN har skapats måste kontona konfigureras för att använda Kerberos-begränsad delegering.
Här är de minsta nödvändiga SPN:erna för det här scenariot:
Skapa SPN för SQL Server på Linux-tjänstkontot med hjälp av en administrativ kommandotolk. Den här instansen använder standardporten 1433:
setspn -S MSSQLSvc/rhel8test:1433 CORPNET\linuxservice setspn -S MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433 CORPNET\linuxserviceDe följande två SPN:erna gäller tjänstkontot för Power BI-rapportservern.
setspn -S HTTP/WIN22.CORPNET.CONTOSO.COM CORPNET\pbirsservice setspn -S HTTP/WIN22 CORPNET\pbirsservice
För att hantera Kerberos-kraven för vidarebefordran av Kerberos-biljetter, när vi arbetar inom en begränsad delegeringsimplementering, konfigurerar vi delegering med Microsofts tillägg till MIT Kerberos-standarden enligt RFC 4120och använder Service for User to Proxy (S4U2proxy). Med den här mekanismen kan PBIRS-tjänsten och SQL Server-tjänsten hämta tjänstbiljetter till andra angivna tjänster för en användares räkning.
När reportuser till exempel autentiseras med PBIRS-serverns webbgränssnitt för att visa en rapport, körs rapporten och måste komma åt data från en datakälla som en SQL Server-tabell. SQL Server-tjänsten måste hämta reportuser Kerberos-tjänstbiljetten, som beviljades under autentiseringsprocessen till PBIRS-servern. S4U2proxy-tillägget tillhandahåller den nödvändiga protokollövergången för att kunna skicka de nödvändiga autentiseringsuppgifterna utan att behöva vidarebefordra användarens TGT (biljettbeviljande biljett) eller användarens sessionsnyckel.
För att uppnå detta måste PBIRS-tjänstkontot (pbirsservice i det här exemplet) och SQL Server-tjänstkontot (linuxservice i det här exemplet) beviljas rätten Betrodd att autentisera för delegering i domänen. Det finns flera sätt att bevilja den här rättigheten (dvs. ADSI-redigering, dator- och användargränssnitt osv.). Vi använder ett upphöjd PowerShell-kommando i det här exemplet:
Hämta SQL Server-tjänstkontot och ställ in det så att det tillåter delegering. Det här steget aktiverar inte bara Kerberos-delegering, utan även delegering av S4U2proxy (för protokollövergång) för kontot. De sista två cmdletarna tilldelar delegeringsbehörighet till specifika resurser i domänen, nämligen SPN:erna för SQL Server-instansen.
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')}Hämta tjänstkontot för Power BI-rapportservern och ställ in det så att det tillåter delegering. Det här steget aktiverar inte bara Kerberos-delegering, utan även delegering av S4U2proxy (för protokollövergång) för kontot. De två sista cmdletarna tillämpar delegeringsbehörighet på specifika resurser i domänen, nämligen SPN:erna för SQL Server och PBIRS-servern.
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-rapportserver (PBIRS)
PBIRS bör installeras endast i konfiguration och läge.
Omedelbart efter installationen av PBIRS måste du konfigurera det för att stödja Kerberos-autentisering. PBIRS stöder som standard endast NTLM-autentisering. Under installationsprocessen måste du uppdatera en av PBIRS-konfigurationsfilerna innan du slutför PBIRS-konfigurationsprocessen, antingen i användargränssnittet eller via kommandoraden. Om du använder en befintlig PBIRS-installation måste du fortfarande utföra redigeringarna och PBIRS-tjänsten måste startas om för att börja gälla. Konfigurationsfilen är rsreportserver.config. Det befinner sig i installationsvägen där PBIRS installerades. Vid en standardinstallation av PBIRS finns filen till exempel på följande plats:
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer
Den här XML-filen kan redigeras i valfri textredigerare. Kom ihåg att göra en kopia av filen innan du redigerar den. När du har öppnat filen söker du efter taggen AuthenticationTypes i XML-dokumentet och lägger till attributen RSWindowsNegotiate och RSWindowsKerberos före attributet RSWindowsNTLM. Till exempel:
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsKerberos/>
<RSWindowsNTLM/>
</AuthenticationTypes>
Det här steget krävs eftersom SQL Server på Linux endast stöder SQL- och Kerberos-autentisering.
Not
Vi behöver bara ta med attributet RSWindowsKerberos, men det är bra att använda RSWindowsNegotiate om du vill standardisera PBIRS-konfigurationsfiler över en uppsättning servrar som stöder en blandning av Windows- och Linux SQL Server-instanser.
Konfiguration av PBIRS-användargränssnitt
När PBIRS-tjänsten har startats om efter att konfigurationsfilredigeringarna har slutförts kan du fortsätta med de återstående PBIRS-konfigurationsalternativen, till exempel att ange det domänbaserade tjänstkontot och ansluta till fjärr-SQL Server på Linux-instansen.
PBIRS-tjänstkontot bör visas i SQL Server-instansen med lämpliga behörigheter. Du kan kontrollera behörigheterna i SQL Server Management Studio (SSMS). I Object Explorer navigerar du till Security > Logins, högerklickar på CORPNET\pbirsservice-kontot och väljer Egenskaper. Behörigheterna visas på sidan Användarmappning.
Slutligen kan vi lägga till reportuser som en inloggning på SQL Server i testsyfte. I det här fallet valde vi den enkla vägen och lade till användaren i rollen db_datareader i två användardatabaser: AdventureWorks och AdventureWorksDW.
När rapporter har distribuerats
Om du behöver konfigurera rapportprenumerationer när rapporter har distribuerats är det en bra idé att konfigurera inbäddade autentiseringsuppgifter i PBIRS-datakällorna. Alla alternativ för autentiseringsuppgifter fungerar korrekt, förutom när man använder alternativet med inbäddade autentiseringsuppgifter konfigurerade med personifiera användaren som visar rapporten. Det här steget misslyckas när du använder Windows-autentiseringsuppgifter på grund av en begränsning i SQL Server på Linux-implementeringen som gör personifiering svårare.