Kerberos configureren voor het gebruik van Power BI-rapporten
Meer informatie over het configureren van uw rapportserver voor Kerberos-verificatie voor gegevensbronnen die in uw Power BI-rapporten worden gebruikt voor een gedistribueerde omgeving.
Power BI Report Server bevat de mogelijkheid om Power BI-rapporten te hosten. Veel gegevensbronnen worden ondersteund door uw rapportserver. Hoewel dit artikel specifiek is gericht op SQL Server Analysis Services, kunt u de concepten gebruiken en dit toepassen op andere gegevensbronnen, zoals SQL Server.
U kunt Power BI Report Server, SQL Server en Analysis Services op één computer installeren en alles moet werken zonder extra configuratie. Dit is ideaal voor een testomgeving. Er kunnen fouten optreden als u deze services hebt geïnstalleerd op afzonderlijke computers die een gedistribueerde omgeving worden genoemd. In deze omgeving moet u Kerberos-verificatie gebruiken. Er is een configuratie vereist om dit te implementeren.
In het bijzonder moet u beperkte delegatie configureren. Mogelijk hebt u Kerberos geconfigureerd in uw omgeving, maar deze is mogelijk niet geconfigureerd voor beperkte delegering.
Fout bij het uitvoeren van een rapport
Als uw rapportserver niet juist is geconfigureerd, wordt mogelijk de volgende fout weergegeven.
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.
In technische details ziet u het volgende bericht.
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.
Beperkte Kerberos-delegering configureren
Er moeten verschillende items worden geconfigureerd om ervoor te zorgen dat beperkte Kerberos-delegering werkt. Dit omvat spn-instellingen (Service Principal Names) en delegeringsinstellingen voor serviceaccounts.
Notitie
Als u SPN's en delegatie-instellingen wilt configureren, moet u een domeinbeheerder zijn.
We moeten het volgende configureren of valideren.
- Verificatietype binnen de rapportserverconfiguratie.
- SPN's voor het serviceaccount van de rapportserver.
- SPN's voor de Analysis Services-service.
- SPN's voor de SQL Browser-service op de Analysis Services-computer. Dit is alleen voor benoemde exemplaren.
- Delegeringsinstellingen in het serviceaccount van de rapportserver.
Verificatietype binnen de configuratie van de rapportserver
We moeten het verificatietype configureren voor de rapportserver om beperkte Kerberos-delegering toe te staan. Dit wordt gedaan in het bestand rsreportserver.config . De standaardlocatie voor dit bestand is C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer
.
In het bestand rsreportserver.config wilt u de sectie Authentication/AuthenticationTypes in orde maken.
We willen ervoor zorgen dat RSWindowsNegotiate wordt vermeld en de eerste in de lijst met verificatietypen. Dit moet er ongeveer als volgt uitzien.
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsNTLM/>
</AuthenticationTypes>
Als u het configuratiebestand moest wijzigen, moet u de rapportserver stoppen en starten om ervoor te zorgen dat de wijzigingen van kracht worden.
Zie Windows-verificatie configureren op de rapportserver voor meer informatie.
SPN's voor het serviceaccount van de rapportserver
Vervolgens moeten we ervoor zorgen dat de rapportserver geldige SPN's beschikbaar heeft. Dit is gebaseerd op het serviceaccount dat is geconfigureerd voor de rapportserver.
Virtueel serviceaccount of netwerkservice
Als uw rapportserver is geconfigureerd voor het virtuele serviceaccount of netwerkserviceaccount, hoeft u niets te doen. Deze bevinden zich in de context van het computeraccount. Het computeraccount heeft standaard HOST-SPN's. Deze hebben betrekking op de HTTP-service en worden gebruikt door de rapportserver.
Als u een naam van een virtuele server gebruikt, een die niet hetzelfde is als het computeraccount, worden de HOST-vermeldingen u niet behandeld en moet u de SPN's handmatig toevoegen voor de hostnaam van de virtuele server.
Domeingebruikersaccount
Als uw rapportserver is geconfigureerd voor het gebruik van een domeingebruikersaccount, moet u handmatig HTTP SPN's voor dat account maken. U kunt dit doen met behulp van het hulpprogramma setspn dat bij Windows wordt geleverd.
Notitie
U hebt domeinbeheerdersrechten nodig om de SPN te kunnen maken.
Het wordt aanbevolen om twee SPN's te maken. Een met de NetBIOS-naam en de andere met de FQDN (Fully Qualified Domain Name). De SPN heeft de volgende indeling.
<Service>/<Host>:<port>
Power BI Report Server gebruikt een service van HTTP. Voor HTTP SPN's geeft u geen poort weer. De service waarin we geïnteresseerd zijn, is HTTP. De host van de SPN is de naam die u in een URL gebruikt. Dit is doorgaans de computernaam. Als u zich achter een load balancer bevindt, kan dit een virtuele naam zijn.
Notitie
U kunt de URL controleren door te kijken naar wat u in de adresbalk van de browser invoert, of u kunt zoeken in Report Server Configuration Manager op het tabblad URL van de webportal.
Als de computernaam ContosoRS is, zijn uw SPN's het volgende.
SPN-type | SPN |
---|---|
FQDN-naam (Fully Qualified Domain Name) | HTTP/ContosoRS.contoso.com |
NetBIOS | HTTP/ContosoRS |
Locatie van SPN
Waar zet je de SPN? De SPN wordt geplaatst op wat u gebruikt voor uw serviceaccount. Als u een virtueel serviceaccount of een netwerkservice gebruikt, is dit het computeraccount. Hoewel we eerder hebben vermeld, hoeft u dit alleen te doen voor een virtuele URL. Als u een domeingebruiker gebruikt voor het serviceaccount van de rapportserver, plaatst u de SPN op dat domeingebruikersaccount.
Als we bijvoorbeeld het netwerkserviceaccount gebruiken en de computernaam ContosoRS is, plaatsen we de SPN op ContosoRS.
Als we een domeingebruikersaccount van RSService gebruiken, plaatsen we de SPN op RSService.
SetSPN gebruiken om de SPN toe te voegen
We kunnen het hulpprogramma SetSPN gebruiken om de SPN toe te voegen. We volgen hetzelfde voorbeeld als hierboven met het computeraccount en het domeingebruikersaccount.
Het plaatsen van de SPN op een computeraccount, voor zowel de FQDN als NetBIOS SPN, zou er ongeveer als volgt uitzien als we een virtuele URL van contosoreports zouden gebruiken.
Setspn -a HTTP/contosoreports.contoso.com ContosoRS
Setspn -a HTTP/contosoreports ContosoRS
Het plaatsen van de SPN op een domeingebruikersaccount, voor zowel de FQDN als NetBIOS SPN, ziet er ongeveer als volgt uit als u de computernaam voor de host van de SPN gebruikt.
Setspn -S HTTP/ContosoRS.contoso.com RSService
Setspn -S HTTP/ContosoRS RSService
SPN's voor de Analysis Services-service
De SPN's voor Analysis Services zijn vergelijkbaar met wat we hebben gedaan met Power BI Report Server. De indeling van de SPN is iets anders als u een benoemd exemplaar hebt.
Voor Analysis Services gebruiken we een service van MSOLAPSvc.3. We geven de naam van het exemplaar op voor de poortlocatie op de SPN. Het hostonderdeel van de SPN is de computernaam of de virtuele clusternaam.
Een voorbeeld van een Analysis Services SPN ziet er als volgt uit.
Type | Indeling |
---|---|
Standaardexemplaar | MSOLAPSvc.3/ContosoAS.contoso.com MSOLAPSvc.3/ContosoAS |
Benoemd exemplaar | MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME MSOLAPSvc.3/ContosoAS:INSTANCENAME |
Plaatsing van de SPN is ook vergelijkbaar met wat is vermeld met Power BI Report Server. Deze is gebaseerd op het serviceaccount. Als u lokaal systeem of netwerkservice gebruikt, bevindt u zich in de context van het computeraccount. Als u een domeingebruikersaccount gebruikt voor het Analysis Services-exemplaar, plaatst u de SPN op het domeingebruikersaccount.
SetSPN gebruiken om de SPN toe te voegen
We kunnen het hulpprogramma SetSPN gebruiken om de SPN toe te voegen. In dit voorbeeld is de computernaam ContosoAS.
Het plaatsen van de SPN op een computeraccount, voor zowel de FQDN als NetBIOS SPN, ziet er ongeveer als volgt uit.
Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPSvc.3/ContosoAS ContosoAS
Het plaatsen van de SPN op een domeingebruikersaccount, voor zowel de FQDN als NetBIOS SPN, zou er ongeveer als volgt uitzien.
Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com OLAPService
Setspn -S MSOLAPSvc.3/ContosoAS OLAPService
SPN's voor de SQL Browser-service
Als u een Analysis Services-benoemd exemplaar hebt, moet u er ook voor zorgen dat u een SPN voor de browserservice hebt. Dit is uniek voor Analysis Services.
De SPN's voor SQL Browser zijn vergelijkbaar met wat we hebben gedaan met Power BI Report Server.
Voor SQL Browser gebruiken we een service van MSOLAPDisco.3. We geven de naam van het exemplaar op voor de poortlocatie op de SPN. Het hostonderdeel van de SPN is de computernaam of de virtuele clusternaam. U hoeft niets op te geven voor de naam of poort van het exemplaar.
Een voorbeeld van een Analysis Services SPN ziet er als volgt uit.
MSOLAPDisco.3/ContosoAS.contoso.com
MSOLAPDisco.3/ContosoAS
Plaatsing van de SPN is ook vergelijkbaar met wat is vermeld met Power BI Report Server. Het verschil hier is dat SQL Browser altijd wordt uitgevoerd onder het lokale systeemaccount. Dit betekent dat de SPN's altijd op het computeraccount worden gebruikt.
SetSPN gebruiken om de SPN toe te voegen
We kunnen het hulpprogramma SetSPN gebruiken om de SPN toe te voegen. In dit voorbeeld is de computernaam ContosoAS.
Het plaatsen van de SPN op het computeraccount, voor zowel de FQDN als NetBIOS SPN, ziet er ongeveer als volgt uit.
Setspn -S MSOLAPDisco.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPDisco.3/ContosoAS ContosoAS
Zie Een SPN voor de SQL Server Browser-service is vereist voor meer informatie.
Delegeringsinstellingen in het serviceaccount van de rapportserver
Het laatste deel dat we moeten configureren, zijn de delegeringsinstellingen in het serviceaccount van de rapportserver. Er zijn verschillende hulpprogramma's die u kunt gebruiken om deze stappen uit te voeren. Voor dit document houden we ons aan Active Directory.
U moet eerst naar de eigenschappen van het serviceaccount van de rapportserver gaan binnen Active Directory. Dit is het computeraccount, als u een virtueel serviceaccount of netwerkservice hebt gebruikt, of het is een domeingebruikersaccount.
We willen beperkte delegering configureren met protocoloverdracht. Met beperkte delegatie moet u expliciet zijn met welke services we willen delegeren. We gaan zowel de SPN van de Analysis Services-service als de SQL Browser SPN toevoegen aan de lijst waaraan Power BI Report Server kan delegeren.
Klik met de rechtermuisknop op het serviceaccount van de rapportserver en selecteer Eigenschappen.
Selecteer het tabblad Delegatie .
Selecteer Deze computer alleen vertrouwen voor delegering naar opgegeven services.
Selecteer Elk verificatieprotocol gebruiken.
Selecteer Toevoegen onder de Services waaraan dit account gedelegeerde referenties kan presenteren.
Selecteer Gebruikers of computers in het nieuwe dialoogvenster.
Voer het serviceaccount voor de Analysis Services-service in en selecteer OK.
Selecteer de SPN die u hebt gemaakt. Het begint met
MSOLAPSvc.3
. Als u zowel de FQDN als de NetBIOS SPN hebt toegevoegd, worden beide geselecteerd. Misschien ziet u er maar één.Selecteer OK. U ziet nu de SPN in de lijst.
U kunt eventueel Uitgevouwen selecteren om zowel de FQDN als netBIOS SPN in de lijst weer te geven.
Selecteer Opnieuw toevoegen . We voegen nu de SQL Browser SPN toe.
Selecteer Gebruikers of computers in het nieuwe dialoogvenster.
Voer de computernaam in voor de computer waarop de SQL Browser-service is ingeschakeld en selecteer OK.
Selecteer de SPN die u hebt gemaakt. Het begint met
MSOLAPDisco.3
. Als u zowel de FQDN als de NetBIOS SPN hebt toegevoegd, worden beide geselecteerd. Misschien ziet u er maar één.Selecteer OK. Het dialoogvenster moet er ongeveer als volgt uitzien als u Uitgevouwen hebt ingeschakeld.
Selecteer OK.
Start de Power BI Report Server opnieuw op.
Een Power BI-rapport uitvoeren
Nadat alle bovenstaande configuratie is ingesteld, moet uw rapport correct worden weergegeven.
Hoewel deze configuratie in de meeste gevallen moet werken, kan er met Kerberos een andere configuratie zijn, afhankelijk van uw omgeving. Als het rapport nog steeds niet wordt geladen, neemt u contact op met uw domeinbeheerder om verder te onderzoeken of contact op te leggen met de ondersteuning.
Gerelateerde inhoud
Meer vragen? Vraag het Power BI-community