Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erfahren Sie, wie Ihren Berichtsserver in einer verteilten Umgebung für die Kerberos-Authentifizierung bei Datenquellen konfigurieren, die in Power BI-Berichten verwendet werden.
Power BI-Berichtsserver bietet die Möglichkeit zum Hosten von Power BI-Berichten. Ihr Berichtsserver unterstützt eine Vielzahl von Datenquellen. Der Schwerpunkt dieses Artikels liegt auf SQL Server Analysis Services. Sie können die hier beschriebenen Konzepte aber auch auf andere Datenquellen wie SQL Server anwenden.
Sie können Power BI Report Server, SQL Server und Analysis Services auf einem einzigen Computer installieren, und alles sollte ohne andere Konfiguration funktionieren. Diese Konfiguration eignet sich hervorragend für eine Testumgebung. Möglicherweise treten Fehler auf, wenn diese Dienste auf separaten Computern installiert sind, die als verteilte Umgebung bezeichnet werden. In dieser Umgebung müssen Sie die Kerberos-Authentifizierung verwenden. Es ist eine Konfiguration erforderlich, um dies zu implementieren.
Insbesondere müssen Sie die eingeschränkte Delegierung konfigurieren. Möglicherweise haben Sie Kerberos in Ihrer Umgebung konfiguriert, aber sie ist möglicherweise nicht für die eingeschränkte Delegierung konfiguriert.
Fehler bei der Berichtsausführung
Wenn Ihr Berichtsserver nicht ordnungsgemäß konfiguriert ist, wird möglicherweise die folgende Fehlermeldung angezeigt.
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 technischen Details wird die folgende Meldung angezeigt.
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.
Konfigurieren der eingeschränkten Kerberos-Delegierung
Es gibt mehrere Elemente, die konfiguriert werden müssen, damit die eingeschränkte Kerberos-Delegierung funktioniert. Dazu zählen Dienstprinzipalnamen (Service Principal Names, SPNs) und Delegierungseinstellungen für Dienstkonten.
Hinweis
Um SPNs und Delegierungseinstellungen konfigurieren zu können, müssen Sie ein Domänenadministrator sein.
Wir müssen Folgendes konfigurieren oder überprüfen:
- Authentifizierungstyp in der Berichtsserverkonfiguration.
- SPNs für das Dienstkonto des Berichtsservers.
- SPNs für den SQL Analysis Services-Dienst.
- SPNs für den SQL Server-Browserdienst auf dem Analysis Services-Computer. Dies gilt für nur benannte Instanzen.
- Delegierungseinstellungen für das Dienstkonto des Berichtsservers.
Authentifizierungstyp in der Berichtsserverkonfiguration
Wir müssen den Authentifizierungstyp für den Berichtsserver konfigurieren, um die eingeschränkte Kerberos-Delegierung zuzulassen. Dies erfolgt in der Datei rsreportserver.config. Der Standardspeicherort dieser Datei ist C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer
.
In der rsreportserver.config
Datei möchten Sie den Abschnitt "Authentication/AuthenticationTypes" finden.
Wir möchten sicherstellen, dass „RSWindowsNegotiate“ in der Liste der Authentifizierungstypen als Erstes aufgeführt ist. Die Ansicht sollte ungefähr wie folgt aussehen.
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsNTLM/>
</AuthenticationTypes>
Wenn Sie die Konfigurationsdatei ändern mussten, möchten Sie den Berichtsserver beenden und starten, um sicherzustellen, dass die Änderungen wirksam werden.
Weitere Informationen finden Sie unter Konfigurieren der Windows-Authentifizierung für den Berichtsserver.
SPNs für das Dienstkonto des Berichtsservers
Als Nächstes müssen wir sicherstellen, dass der Berichtsserver über gültige SPNs verfügt. Dies basiert auf dem Dienstkonto, das für den Berichtsserver konfiguriert ist.
Virtuelles Dienstkonto oder Netzwerkdienst
Wenn Ihr Berichtsserver für das Konto des virtuellen Diensts oder des Netzwerkdiensts konfiguriert ist, sollten Sie nichts tun müssen. Diese befinden sich im Kontext des Computerkontos. Das Computerkonto verfügt standardmäßig über HOST-SPNs. Diese decken den HTTP-Dienst ab und werden vom Berichtsserver verwendet.
Wenn Sie einen virtuellen Servernamen verwenden, werden sie von den HOST-Einträgen nicht abgedeckt, und Sie müssen die SPNs für den Hostnamen des virtuellen Servers manuell hinzufügen.
Domänenbenutzerkonto
Wenn Ihr Berichtsserver für die Verwendung eines Domänenbenutzerkontos konfiguriert ist, müssen Sie HTTP-SPNs für dieses Konto manuell erstellen. Hierzu können Sie das Tool SetSPN im Funktionsumfang von Windows verwenden.
Hinweis
Sie benötigen Domänenadministratorrechte, um den SPN zu erstellen.
Es wird empfohlen, zwei SPNs zu erstellen. Einen mit dem NetBIOS-Namen und den anderen mit dem vollqualifizierten Domänennamen (FQDN). Der SPN weist das folgende Format auf.
<Service>/<Host>:<port>
Power BI Report Server verwendet einen HTTP-Dienst. Für HTTP-SPNs listen Sie keinen Port auf. Der Dienst, für den wir uns interessieren, ist http. Der Host des SPN ist der Name, den Sie auch in einer URL verwenden. In der Regel ist dies der Computername. Wenn Sie sich hinter einem Load-Balancer befinden, könnte dies möglicherweise ein virtueller Hostname sein.
Hinweis
Sie können die URL überprüfen, indem Sie sich entweder ansehen, was Sie in die Adressleiste des Browsers eingeben, oder im Webportal auf der Registerkarte „URL“ einen Blick auf den Berichtsserver-Konfigurations-Manager werfen.
Wenn der Computername „ContosoRS“ lautet, werden folgende SPNs benötigt.
Typ des SPN | SPN |
---|---|
Vollqualifizierter Domänennamen (FQDN) | HTTP/ContosoRS.contoso.com |
NetBIOS | HTTP/ContosoRS |
Angabe des SPN
Wofür geben Sie also den SPN an? Der SPN wird auf dem Objekt registriert, das Sie für Ihr Dienstkonto verwenden. Wenn Sie virtuelles Dienstkonto oder Netzwerkdienst verwenden, ist dies das Computerkonto. Wie bereits erwähnt, ist dies nur für eine virtuelle URL erforderlich. Wenn Sie einen Domänenbenutzer für das Berichtsserverdienstkonto verwenden, platzieren Sie den SPN in diesem Domänenbenutzerkonto.
Wenn wir beispielsweise das Netzwerkdienstkonto verwenden und der Computername "ContosoRS" lautet, würden wir den SPN auf ContosoRS platzieren.
Wenn wir ein Domänenbenutzerkonto von RSService verwenden, würden wir den SPN auf RSService platzieren.
Verwenden von SetSPN zum Hinzufügen des SPN
Mit dem Tool SetSPN können wir den SPN hinzuzufügen. Wir folgen demselben Beispiel wie oben mit dem Computerkonto und dem Domänenbenutzerkonto.
Das Angeben des SPN für ein Computerkonto, für sowohl den FQDN- als auch den NetBIOS-SPN, würde etwa wie folgt aussehen, wenn wir die virtuelle URL „contosoreports“ verwenden.
Setspn -a HTTP/contosoreports.contoso.com ContosoRS
Setspn -a HTTP/contosoreports ContosoRS
Das Angeben des SPN für ein Domänenbenutzerkonto (sowohl für den FQDN- als auch den NetBIOS-SPN) sieht wie in der folgenden Abbildung aus, wenn Sie den Computernamen als Host des SPN verwenden.
Setspn -S HTTP/ContosoRS.contoso.com RSService
Setspn -S HTTP/ContosoRS RSService
SPNs für den SQL Analysis Services-Dienst
Die SPNs für Analysis Services sind ähnlich wie für Power BI-Berichtsserver. Das Format des SPN ist ein wenig anders, wenn Sie über eine benannte Instanz verfügen.
Für Analysis Services verwenden wir den Dienst „MSOLAPSvc.3“. Wir geben den Instanznamen für den Portstandort im SPN an. Der Hostteil des SPN ist entweder der Computername oder virtuelle Name des Clusters.
Es folgt ein Beispiel eines SPN für Analysis Services.
Typ | Format |
---|---|
Standardinstanz | MSOLAPSvc.3/ContosoAS.contoso.com MSOLAPSvc.3/ContosoAS |
Benannte Instanz | MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME MSOLAPSvc.3/ContosoAS:INSTANCENAME |
Die Angabe des SPN ähnelt auch der Vorgehensweise bei Power BI-Berichtsserver. Sie basiert auf dem Dienstkonto. Wenn Sie den lokalen System- oder Netzwerkdienst verwenden, befinden Sie sich im Kontext des Computerkontos. Wenn Sie ein Domänenbenutzerkonto für die Analysis Services-Instanz verwenden, platzieren Sie den SPN im Domänenbenutzerkonto.
Verwenden von SetSPN zum Hinzufügen des SPN
Mit dem Tool SetSPN können wir den SPN hinzuzufügen. In diesem Beispiel lautet der Computername ContosoAS.
Das Angeben des SPN für ein Computerkonto, für sowohl den FQDN- als auch den NetBIOS-SPN, würde etwa wie folgt aussehen.
Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPSvc.3/ContosoAS ContosoAS
Das Angeben des SPN für ein Domänenbenutzerkonto (sowohl für den FQDN- als auch den NetBIOS-SPN) würde etwa wie folgt aussehen.
Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com OLAPService
Setspn -S MSOLAPSvc.3/ContosoAS OLAPService
SPN für den SQL Server-Browserdienst
Wenn Sie eine benannte Analysis Services-Instanz haben, benötigen Sie auch einen SPN für den SQL Server-Browserdienst. Dies gilt nur für Analysis Services.
Die SPNs für den SQL Server-Browserdienst sind ähnlich wie für Power BI-Berichtsserver.
Für den SQL Server-Browserdienst verwenden wir den Dienst „MSOLAPDisco.3“. Wir geben den Instanznamen für die Portposition auf dem SPN an. Der Hostteil des SPN ist entweder der Computername oder virtuelle Name des Clusters. Sie müssen nichts für den Namen oder port der Instanz angeben.
Es folgt ein Beispiel eines SPN für Analysis Services.
MSOLAPDisco.3/ContosoAS.contoso.com
MSOLAPDisco.3/ContosoAS
Die Angabe des SPN ähnelt auch der Vorgehensweise bei Power BI-Berichtsserver. Der Unterschied ist, dass der SQL-Browser immer unter dem lokalen Systemkonto ausgeführt wird. Dies bedeutet, dass die SPNs stets für das Computerkonto angegeben werden.
Verwenden von SetSPN zum Hinzufügen des SPN
Mit dem Tool SetSPN können wir den SPN hinzuzufügen. In diesem Beispiel lautet der Computername ContosoAS.
Das Angeben des SPN für das Computerkonto, für sowohl den FQDN- als auch den NetBIOS-SPN, würde etwa wie folgt aussehen.
Setspn -S MSOLAPDisco.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPDisco.3/ContosoAS ContosoAS
Weitere Informationen finden Sie unter Ein SPN für den SQL Server-Browserdienst ist erforderlich.
Delegierungseinstellungen für das Dienstkonto des Berichtsservers
Zuletzt konfigurieren wir die Delegierungseinstellungen für das Dienstkonto des Berichtsservers. Es gibt verschiedene Tools, die Sie verwenden können, um diese Schritte auszuführen. Im Rahmen dieses Dokuments bleiben wir bei Active Directory-Benutzern und -Computern.
Zunächst müssen Sie zu den Eigenschaften des Berichtsserverdienstkontos in Active Directory-Benutzern und -Computern wechseln. Dies ist entweder das Computerkonto, wenn Sie das virtuelle Dienstkonto oder den Netzwerkdienst verwendet haben oder es sich um ein Domänenbenutzerkonto handelt.
Wir möchten die eingeschränkte Delegierung mit Protokollübertragung konfigurieren. Bei der eingeschränkten Delegierung müssen Sie explizit angeben, an welche Dienste die Delegierung erfolgen soll. Wir fügen sowohl den Analysis Services-Dienst SPN als auch den SQL-Browser-SPN zur Liste hinzu, an die Power BI Report Server delegieren kann.
Wählen Sie mit der rechten Maustaste das Berichtsserverdienstkonto aus, und wählen Sie "Eigenschaften" aus.
Wählen Sie die Registerkarte Delegierung aus.
Wählen Sie Computer nur bei Delegierungen angegebener Dienste vertrauen aus.
Wählen Sie dann Beliebiges Authentifizierungsprotokoll verwenden aus.
Klicken Sie unter der Dienste, für die dieses Konto delegierte Anmeldeinformationen verwenden kann auf Hinzufügen.
Wählen Sie im Dialogfeld „Neu“ Benutzer oder Computer aus.
Geben Sie das Dienstkonto für den Analysis Services-Dienst ein, und klicken Sie auf OK.
Wählen Sie den SPN aus, den Sie erstellt haben. Es beginnt mit
MSOLAPSvc.3
. Wenn Sie sowohl den FQDN als auch den NetBIOS SPN hinzugefügt haben, werden beide ausgewählt. Vielleicht siehst du nur eine.Klicken Sie auf OK. Der SPN sollte jetzt in der Liste angezeigt werden.
Wahlweise können Sie Erweitert auswählen, um den FQDN- und den NetBIOS-SPN in der Liste anzuzeigen.
Klicken Sie erneut auf Hinzufügen. Wir fügen den SQL-Browser SPN jetzt hinzu.
Wählen Sie im Dialogfeld „Neu“ Benutzer oder Computer aus.
Geben Sie den Computernamen des Computers ein, auf dem sich der SQL Server-Browserdienst befindet, und klicken Sie auf OK.
Wählen Sie den SPN aus, den Sie erstellt haben. Es beginnt mit
MSOLAPDisco.3
. Wenn Sie den FQDN- und den NetBIOS-SPN hinzugefügt haben, werden beide ausgewählt. Möglicherweise siehst du nur eine.Klicken Sie auf OK. Das Dialogfeld sollte ähnlich wie das folgende aussehen, wenn Sie Erweitert aktiviert haben.
Klicken Sie auf OK.
Starten Sie Power BI-Berichtsserver neu.
Ausführen eines Power BI-Berichts
Sobald die zuvor beschriebene Konfiguration vorhanden ist, sollte Ihr Bericht ordnungsgemäß angezeigt werden.
Wenngleich diese Konfiguration in den meisten Fällen funktionieren sollte, kann für die Kerberos-Authentifizierung abhängig von Ihrer Umgebung eine andere Konfiguration nötig sein. Wenn der Bericht immer noch nicht geladen wird, sollten Sie sich an Ihren Domänenadministrator wenden, um weitere Informationen zu untersuchen oder sich an den Support zu wenden.