Konfigurera Kerberos att använda Power BI-rapporter

Lär dig hur du konfigurerar rapportservern för Kerberos-autentisering till datakällor som används i dina Power BI-rapporter för en distribuerad miljö.

Kommentar

Den här videon kan använda tidigare versioner av Power BI-rapportserver.

Power BI-rapportserver innehåller möjligheten att vara värd för Power BI-rapporter. Många datakällor stöds av rapportservern. Den här artikeln fokuserar specifikt på SQL Server Analysis Services, men du kan använda begreppen och tillämpa den på andra datakällor som SQL Server.

Du kan installera Power BI-rapportserver, SQL Server och Analysis Services på en enda dator och allt bör fungera utan ytterligare konfiguration. Detta är bra för en testmiljö. Du kan stöta på fel om du har dessa tjänster installerade på separata datorer som kallas för en distribuerad miljö. I den här miljön måste du använda Kerberos-autentisering. Det krävs konfiguration för att implementera detta.

Mer specifikt behöver du konfigurera begränsad delegering. Du kan ha Kerberos konfigurerat i din miljö, men det kanske inte är konfigurerat för begränsad delegering.

Fel vid körning av rapport

Om rapportservern inte är korrekt konfigurerad kan du få följande fel.

Something went wrong.

We couldn't run the report because we couldn't connect to its data source. The report or data source might not be configured correctly. 

I Teknisk information visas följande meddelande.

We couldn't connect to the Analysis Services server. The server forcibly closed the connection. To connect as the user viewing the report, your organization must have configured Kerberos constrained delegation.

Screenshot of Power B I Reports showing error message related to issues connecting with Analysis Services server.

Konfigurera Kerberos-begränsad delegering

Det finns flera objekt som måste konfigureras för att Kerberos-begränsad delegering ska fungera. Detta inkluderar SPN (Service Principal Names) och delegeringsinställningar för tjänstkonton.

Kommentar

För att kunna konfigurera SPN och delegeringsinställningar måste du vara domänadministratör.

Vi måste konfigurera eller verifiera följande.

  1. Autentiseringstyp i rapportserverkonfigurationen.
  2. SPN:er för rapportserverns tjänstkonto.
  3. SPN:er för Analysis Services-tjänsten.
  4. SPN:er för SQL Browser-tjänsten på Analysis Services-datorn. Detta gäller endast för namngivna instanser.
  5. Delegeringsinställningar för rapportserverns tjänstkonto.

Autentiseringstyp i rapportserverkonfiguration

Vi måste konfigurera autentiseringstypen för rapportservern för att tillåta Kerberos-begränsad delegering. Detta görs i filen rsreportserver.config . Standardplatsen för den här filen är C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

I filen rsreportserver.config vill du finjustera avsnittet Authentication/AuthenticationTypes .

Vi vill se till att RSWindowsNegotiate visas och det första i listan över autentiseringstyper. Den bör se ut ungefär så här:

<AuthenticationTypes>
    <RSWindowsNegotiate/>
    <RSWindowsNTLM/>
</AuthenticationTypes>

Om du var tvungen att ändra konfigurationsfilen vill du stoppa och starta rapportservern för att se till att ändringarna börjar gälla.

Mer information finns i Konfigurera Windows-autentisering på rapportservern.

SPN:er för rapportserverns tjänstkonto

Därefter måste vi se till att rapportservern har giltiga SPN:er tillgängliga. Detta baseras på det tjänstkonto som har konfigurerats för rapportservern.

Virtuellt tjänstkonto eller nätverkstjänst

Om rapportservern har konfigurerats för det virtuella tjänstkontot eller nätverkstjänstkontot bör du inte behöva göra något. Dessa finns i kontexten för datorkontot. Datorkontot har värd-SPN:er som standard. Dessa täcker HTTP-tjänsten och kommer att användas av rapportservern.

Om du använder ett virtuellt servernamn, ett namn som inte är samma som datorkontot, kommer HOST-posterna inte att täcka dig och du måste lägga till SPN manuellt för värdnamnet för den virtuella servern.

Domänanvändarkonto

Om rapportservern har konfigurerats för att använda ett domänanvändarkonto måste du skapa HTTP-SPN manuellt för det kontot. Detta kan göras med hjälp av setpn-verktyget som medföljer Windows.

Kommentar

Du behöver domänadministratörsrättigheter för att kunna skapa SPN.

Vi rekommenderar att du skapar två SPN. En med NetBIOS-namnet och det andra med det fullständigt kvalificerade domännamnet (FQDN). SPN kommer att vara i följande format.

<Service>/<Host>:<port>

Power BI-rapportserver använder en HTTP-tjänst. För HTTP-SPN:er visar du ingen port. Den tjänst som vi är intresserade av här är HTTP. SpN-värden är det namn som du använder i en URL. Vanligtvis är det här datornamnet. Om du är bakom en lastbalanserare kan detta vara ett virtuellt namn.

Kommentar

Du kan verifiera URL:en genom att antingen titta på vad du anger i webbläsarens adressfält, eller så kan du titta i Konfigurationshanteraren för rapportservern på fliken URL för webbportalen.

Om datornamnet är ContosoRS skulle dina SPN vara följande.

SPN-typ SPN
Fullständigt kvalificerat domännamn (FQDN) HTTP/ContosoRS.contoso.com
NetBIOS HTTP/ContosoRS

SPN:s plats

Så, var placerar du SPN? SPN placeras på det du använder för ditt tjänstkonto. Om du använder ett virtuellt tjänstkonto eller en nätverkstjänst är det här datorkontot. Även om vi nämnde tidigare bör du bara behöva göra detta för en virtuell URL. Om du använder en domänanvändare för rapportservertjänstkontot placerar du SPN på det domänanvändarkontot.

Om vi till exempel använder nätverkstjänstkontot och vårt datornamn är ContosoRS skulle vi placera SPN på ContosoRS.

Om vi använder ett domänanvändarkonto för RSService skulle vi placera SPN på RSService.

Använda SetSPN för att lägga till SPN

Vi kan använda SetSPN-verktyget för att lägga till SPN. Vi följer samma exempel som ovan med datorkontot och domänanvändarkontot.

Att placera SPN på ett datorkonto för både FQDN och NetBIOS SPN skulle se ut ungefär så här om vi använde en virtuell URL med contosoreports.

Setspn -a HTTP/contosoreports.contoso.com ContosoRS
Setspn -a HTTP/contosoreports ContosoRS

Att placera SPN på ett domänanvändarkonto för både FQDN och NetBIOS SPN skulle se ut ungefär så här om du använde datornamnet för spn-värden.

Setspn -S HTTP/ContosoRS.contoso.com RSService
Setspn -S HTTP/ContosoRS RSService

SPN:er för Analysis Services-tjänsten

SPN:erna för Analysis Services liknar det vi gjorde med Power BI-rapportserver. SPN-formatet är lite annorlunda om du har en namngiven instans.

För Analysis Services använder vi tjänsten MSOLAPSvc.3. Vi anger instansnamnet för portplatsen på SPN. Värddelen av SPN är antingen datornamnet eller det virtuella klustrets namn.

Ett exempel på ett Analysis Services SPN skulle se ut så här.

Typ Format
Standardinstans MSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoAS
Namngiven instans MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:INSTANCENAME

Placeringen av SPN liknar också det som nämndes med Power BI-rapportserver. Den baseras på tjänstkontot. Om du använder lokalt system eller nätverkstjänst kommer du att vara i kontexten för datorkontot. Om du använder ett domänanvändarkonto för Analysis Services-instansen placerar du SPN på domänanvändarkontot.

Använda SetSPN för att lägga till SPN

Vi kan använda SetSPN-verktyget för att lägga till SPN. I det här exemplet blir datornamnet ContosoAS.

Att placera SPN på ett datorkonto för både FQDN och NetBIOS SPN skulle se ut ungefär så här.

Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPSvc.3/ContosoAS ContosoAS

Att placera SPN på ett domänanvändarkonto för både FQDN och NetBIOS SPN skulle se ut ungefär så här.

Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com OLAPService
Setspn -S MSOLAPSvc.3/ContosoAS OLAPService

SPN:er för SQL Browser-tjänsten

Om du har en Analysis Services-namngiven instans måste du också se till att du har ett SPN för webbläsartjänsten. Detta är unikt för Analysis Services.

SPN:erna för SQL Browser liknar det vi gjorde med Power BI-rapportserver.

För SQL Browser använder vi tjänsten MSOLAPDisco.3. Vi anger instansnamnet för portplatsen på SPN. Värddelen av SPN är antingen datornamnet eller det virtuella klustrets namn. Du behöver inte ange något för instansnamnet eller porten.

Ett exempel på ett Analysis Services SPN skulle se ut så här.

MSOLAPDisco.3/ContosoAS.contoso.com
MSOLAPDisco.3/ContosoAS

Placeringen av SPN liknar också det som nämndes med Power BI-rapportserver. Skillnaden här är att SQL Browser alltid körs under det lokala systemkontot. Det innebär att SPN:erna alltid kommer att gå på datorkontot.

Använda SetSPN för att lägga till SPN

Vi kan använda SetSPN-verktyget för att lägga till SPN. I det här exemplet blir datornamnet ContosoAS.

Att placera SPN på datorkontot, för både FQDN och NetBIOS SPN, skulle se ut ungefär så här.

Setspn -S MSOLAPDisco.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPDisco.3/ContosoAS ContosoAS

Mer information finns i Ett SPN för SQL Server Browser-tjänsten krävs.

Delegeringsinställningar för rapportserverns tjänstkonto

Den sista delen som vi måste konfigurera är delegeringsinställningarna för rapportserverns tjänstkonto. Det finns olika verktyg som du kan använda för att utföra de här stegen. I det här dokumentet håller vi oss till Active Directory - användare och datorer.

Du måste börja med att gå till egenskaperna för rapportservertjänstkontot inom Active Directory - användare och datorer. Det här är antingen datorkontot, om du använde virtuellt tjänstkonto eller nätverkstjänst, eller om det blir ett domänanvändarkonto.

Vi vill konfigurera begränsad delegering med protokollöverföring. Med begränsad delegering måste du vara explicit med vilka tjänster vi vill delegera till. Vi går och lägger till både Analysis Services-tjänstens SPN och SQL Browser SPN i listan som Power BI-rapportserver kan delegera till.

  1. Högerklicka på rapportserverns tjänstkonto och välj Egenskaper.

  2. Välj fliken Delegering .

  3. Välj Lita på den här datorn för delegering till endast angivna tjänster.

  4. Välj Använd valfritt autentiseringsprotokoll.

  5. Under De tjänster som det här kontot kan presentera delegerade autentiseringsuppgifter till väljer du Lägg till.

  6. I den nya dialogrutan väljer du Användare eller Datorer.

  7. Ange tjänstkontot för Analysis Services-tjänsten och välj Ok.

  8. Välj det SPN som du skapade. Det börjar med MSOLAPSvc.3. Om du har lagt till både FQDN och NetBIOS SPN väljer du båda. Du kanske bara ser en.

  9. Välj OK. Du bör nu se SPN i listan.

  10. Du kan också välja Expanderad för att visa både FQDN och NetBIOS SPN i listan.

  11. Välj Lägg till igen. Vi lägger till SQL Browser SPN nu.

  12. I den nya dialogrutan väljer du Användare eller Datorer.

  13. Ange datornamnet för datorn som SQL Browser-tjänsten är på och välj Ok.

  14. Välj det SPN som du skapade. Det börjar med MSOLAPDisco.3. Om du har lagt till både FQDN och NetBIOS SPN väljer du båda. Du kanske bara ser en.

  15. Välj OK. Dialogrutan bör se ut ungefär så här om du har markerat Expanderad.

    Screenshot of Power B I Reports showing Delegation tab of Properties window.

  16. Välj OK.

  17. Starta om Power BI-rapportserver.

Köra en Power BI-rapport

När all konfiguration ovan är på plats bör rapporten visas korrekt.

Screenshot of Power B I Reports showing sample Dashboard view.

Den här konfigurationen bör fungera i de flesta fall, men med Kerberos kan det finnas olika konfigurationer beroende på din miljö. Om rapporten fortfarande inte läses in vill du kontakta domänadministratören för att undersöka ytterligare eller kontakta supporten.

Har du fler frågor? Prova att fråga Power BI Community