Konfigurer Kerberos til at bruge Power BI-rapporter

Få mere at vide om, hvordan du konfigurerer din rapportserver til Kerberos-godkendelse til datakilder, der bruges i dine Power BI-rapporter til et distribueret miljø.

Bemærk

Denne video bruger muligvis tidligere versioner af Power BI-rapportserver.

Power BI-rapportserver omfatter muligheden for at hoste Power BI-rapporter. Mange datakilder understøttes af rapportserveren. I denne artikel fokuseres der specifikt på SQL Server Analysis Services, men du kan bruge begreberne og anvende dem på andre datakilder, f.eks. SQL Server.

Du kan installere Power BI-rapportserver, SQL Server og Analysis Services på en enkelt computer, og alt bør fungere uden yderligere konfiguration. Dette er fantastisk til et testmiljø. Du kan støde på fejl, hvis du har disse tjenester installeret på separate maskiner, som kaldes et distribueret miljø. I dette miljø skal du bruge Kerberos-godkendelse. Der kræves konfiguration for at implementere dette.

Du skal specifikt konfigurere begrænset delegering. Kerberos er muligvis konfigureret i dit miljø, men den er muligvis ikke konfigureret til begrænset delegering.

Fejl under kørsel af rapport

Hvis rapportserveren ikke er konfigureret korrekt, kan du få vist følgende fejl.

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 Tekniske detaljer får du vist følgende meddelelse.

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.

Konfiguration af begrænset Kerberos-delegering

Der er flere elementer, der skal konfigureres, for at begrænset Kerberos-delegering kan fungere. Dette omfatter SPN (Service Principal Names) og delegeringsindstillinger for tjenestekonti.

Bemærk

Hvis du vil konfigurere SPN'er og delegeringsindstillinger, skal du være domæneadministrator.

Vi skal konfigurere eller validere følgende.

  1. Godkendelsestype i rapportserverkonfigurationen.
  2. SPN'er for rapportservertjenestekontoen.
  3. SPN'er for Analysis Services-tjenesten.
  4. SPN'er for SQL Browser-tjenesten på Analysis Services-computeren. Dette er kun for navngivne forekomster.
  5. Delegeringsindstillinger på rapportservertjenestekontoen.

Godkendelsestype i konfigurationen af rapportserveren

Vi skal konfigurere godkendelsestypen for rapportserveren for at tillade begrænset Kerberos-delegering. Dette gøres i filen rsreportserver.config . Standardplaceringen for denne fil er C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

I filen rsreportserver.config skal du finjustere afsnittet Authentication/AuthenticationTypes .

Vi vil sikre os, at RSWindowsNegotiate er angivet og den første på listen over godkendelsestyper. Det skal ligne følgende.

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

Hvis du skulle ændre konfigurationsfilen, skal du stoppe og starte rapportserveren for at sikre, at ændringerne træder i kraft.

Du kan få flere oplysninger under Konfigurer Windows-godkendelse på rapportserveren.

SPN'er for rapportservertjenestekontoen

Derefter skal vi sikre os, at rapportserveren har gyldige SPN'er tilgængelige. Dette er baseret på den tjenestekonto, der er konfigureret for rapportserveren.

Virtuel tjenestekonto eller netværkstjeneste

Hvis din rapportserver er konfigureret til den virtuelle tjenestekonto eller netværkstjenestekontoen, skal du ikke foretage dig noget. Disse er i forbindelse med computerkontoen. Computerkontoen har VÆRTS-SPN'er som standard. Disse dækker HTTP-tjenesten og bruges af rapportserveren.

Hvis du bruger et virtuelt servernavn, som ikke er det samme som computerkontoen, dækker VÆRTSposterne dig ikke, og du skal manuelt tilføje SPN'erne for værtsnavnet på den virtuelle server.

Domænebrugerkonto

Hvis rapportserveren er konfigureret til at bruge en domænebrugerkonto, skal du manuelt oprette HTTP-SPN'er for den pågældende konto. Dette kan gøres ved hjælp af setspn-værktøjet, der følger med Windows.

Bemærk

Du skal have rettigheder som domæneadministrator for at kunne oprette SPN'et.

Det anbefales at oprette to SPN'er. Den ene med NetBIOS-navnet og den anden med det fuldt kvalificerede domænenavn (FQDN). SPN'et vil være i følgende format.

<Service>/<Host>:<port>

Power BI-rapportserver bruger en HTTP-tjeneste. For HTTP-SPN'er skal du ikke angive en port. Den tjeneste, vi er interesseret i her, er HTTP. Værten for SPN'et er det navn, du bruger i en URL-adresse. Dette er typisk computernavnet. Hvis du står bag en justering af belastning, kan det være et virtuelt navn.

Bemærk

Du kan bekræfte URL-adressen ved enten at se på det, du angiver i adresselinjen i browseren, eller du kan se i Konfigurationsstyring til rapportserver under fanen URL-adresse til webportal.

Hvis dit computernavn er ContosoRS, vil dine SPN'er være følgende.

SPN-type SPN
Fuldt kvalificeret domænenavn (FQDN) HTTP/ContosoRS.contoso.com
Netbios HTTP/ContosoRS

Placering af SPN

Så hvor lægger du SPN? SPN placeres på det, du bruger til din tjenestekonto. Hvis du bruger en virtuel tjenestekonto eller netværkstjeneste, er det computerkontoen. Selvom vi nævnte før, skal du kun gøre dette for en virtuel URL-adresse. Hvis du bruger en domænebruger til kontoen til rapportservertjenesten, skal du placere SPN'et på den pågældende domænebrugerkonto.

Hvis vi f.eks. bruger network service-kontoen, og vores computernavn er ContosoRS, placerer vi SPN på ContosoRS.

Hvis vi bruger en domænebrugerkonto for RSService, placerer vi SPN'et på RSService.

Brug af SetSPN til at tilføje SPN

Vi kan bruge SetSPN-værktøjet til at tilføje SPN'et. Vi følger det samme eksempel som ovenfor med computerkontoen og domænebrugerkontoen.

Hvis SPN placeres på en computerkonto for både FQDN og NetBIOS SPN, vil det se ud som følger, hvis vi bruger en virtuel URL-adresse til contosoreports.

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

Hvis SPN placeres på en domænebrugerkonto for både FQDN og NetBIOS SPN, vil det se ud som følger, hvis du bruger computernavnet til værten for SPN'et.

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

SPN'er for Analysis Services-tjenesten

SPN'erne for Analysis Services svarer til det, vi gjorde med Power BI-rapportserver. Formatet af SPN'et er lidt anderledes, hvis du har en navngivet forekomst.

Til Analysis Services bruger vi en tjeneste af MSOLAPSvc.3. Vi angiver navnet på forekomsten for portplaceringen på SPN'et. Værtsdelen af SPN'et vil enten være computernavnet eller det virtuelle klyngenavn.

Et eksempel på et Analysis Services-SPN ville se ud som følger.

Skriv Format
Standardforekomst MSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoAS
Navngivet forekomst MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:INSTANCENAME

Placeringen af SPN svarer også til det, der blev nævnt med Power BI-rapportserver. Den er baseret på tjenestekontoen. Hvis du bruger Lokalt system eller Netværkstjeneste, vil du være i forbindelse med computerkontoen. Hvis du bruger en domænebrugerkonto til Analysis Services-forekomsten, skal du placere SPN'et på domænebrugerkontoen.

Brug af SetSPN til at tilføje SPN

Vi kan bruge SetSPN-værktøjet til at tilføje SPN'et. I dette eksempel er computernavnet ContosoAS.

Hvis SPN placeres på en computerkonto for både FQDN og NetBIOS SPN, ser det ud som følger.

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

Hvis SPN placeres på en domænebrugerkonto for både FQDN og NetBIOS SPN, ser det ud som følger.

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

SPN'er for SQL Browser-tjenesten

Hvis du har en navngivet Analysis Services-forekomst, skal du også sikre dig, at du har et SPN for browsertjenesten. Dette er entydigt for Analysis Services.

SPN'erne til SQL Browser svarer til det, vi gjorde med Power BI-rapportserver.

Til SQL Browser bruger vi en tjeneste af MSOLAPDisco.3. Vi angiver navnet på forekomsten for portplaceringen på SPN'et. Værtsdelen af SPN'et vil enten være computernavnet eller det virtuelle klyngenavn. Du behøver ikke at angive noget for forekomstnavnet eller -porten.

Et eksempel på et Analysis Services-SPN ville se ud som følger.

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

Placeringen af SPN svarer også til det, der blev nævnt med Power BI-rapportserver. Forskellen her er, at SQL Browser altid kører under kontoen Lokalt system. Det betyder, at SPN'erne altid vil gå på computerkontoen.

Brug af SetSPN til at tilføje SPN

Vi kan bruge SetSPN-værktøjet til at tilføje SPN'et. I dette eksempel er computernavnet ContosoAS.

Hvis SPN placeres på computerkontoen for både FQDN og NetBIOS SPN, ser det ud som følger.

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

Du kan få flere oplysninger under Et SPN til SQL Server Browser-tjenesten er påkrævet.

Delegeringsindstillinger på rapportservertjenestekontoen

Den sidste del, vi skal konfigurere, er delegeringsindstillingerne for rapportservertjenestekontoen. Der er forskellige værktøjer, du kan bruge til at udføre disse trin. I dette dokument vil vi holde os til Active Directory-brugere og -computere.

Du skal starte med at gå til egenskaberne for rapportservertjenestekontoen i Active Directory-brugere og -computere. Dette vil enten være computerkontoen, hvis du har brugt virtual servicekonto eller netværkstjeneste, eller det vil være en domænebrugerkonto.

Vi vil konfigurere begrænset delegering med protokoltransitering. Med begrænset delegering skal du være eksplicit med, hvilke tjenester vi vil delegere til. Vi går ud og føjer både ANALYSIS Services-tjeneste-SPN og SQL Browser SPN til den liste, som Power BI-rapportserver kan delegere til.

  1. Højreklik på kontoen til rapportservertjenesten, og vælg Egenskaber.

  2. Vælg fanen Delegering .

  3. Vælg Hav kun tillid til denne computer til delegering til angivne tjenester.

  4. Vælg Brug en godkendelsesprotokol.

  5. Under tjenester , som denne konto kan præsentere delegerede legitimationsoplysninger til: Vælg Tilføj.

  6. Vælg Brugere eller computere i den nye dialogboks.

  7. Angiv tjenestekontoen for Analysis Services-tjenesten, og vælg Ok.

  8. Vælg det SPN, du har oprettet. Det begynder med MSOLAPSvc.3. Hvis du har tilføjet både FQDN og NetBIOS SPN, vælger den begge. Du kan kun se én.

  9. Vælg OK. Du bør kunne se SPN'et på listen nu.

  10. Du kan også vælge Udvidet for at få vist både FQDN og NetBIOS SPN på listen.

  11. Vælg Tilføj igen. Vi tilføjer SQL Browser SPN nu.

  12. Vælg Brugere eller computere i den nye dialogboks.

  13. Angiv computernavnet på den computer, som SQL Browser-tjenesten er på, og vælg OK.

  14. Vælg det SPN, du har oprettet. Det begynder med MSOLAPDisco.3. Hvis du har tilføjet både FQDN og NetBIOS SPN, vælger den begge. Du kan kun se én.

  15. Vælg OK. Dialogboksen bør ligne følgende, hvis du har markeret Udvidet.

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

  16. Vælg OK.

  17. Genstart Power BI-rapportserver.

Kørsel af en Power BI-rapport

Når hele ovenstående konfiguration er på plads, skal din rapport vises korrekt.

Screenshot of Power B I Reports showing sample Dashboard view.

Selvom denne konfiguration skal fungere i de fleste tilfælde med Kerberos, kan der være forskellige konfigurationer, afhængigt af dit miljø. Hvis rapporten stadig ikke indlæses, skal du kontakte domæneadministratoren for at undersøge det nærmere eller kontakte support.

Har du flere spørgsmål? Prøv at spørge Power BI-community'et