Freigeben über


Konfigurieren der Kerberos-Authentifizierung zur Verwendung von Power BI-Berichten

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.

Screenshot von Power B I-Berichten mit Fehlermeldungen im Zusammenhang mit Problemen beim Herstellen einer Verbindung mit dem Analysis Services-Server.

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:

  1. Authentifizierungstyp in der Berichtsserverkonfiguration.
  2. SPNs für das Dienstkonto des Berichtsservers.
  3. SPNs für den SQL Analysis Services-Dienst.
  4. SPNs für den SQL Server-Browserdienst auf dem Analysis Services-Computer. Dies gilt für nur benannte Instanzen.
  5. 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.

  1. Wählen Sie mit der rechten Maustaste das Berichtsserverdienstkonto aus, und wählen Sie "Eigenschaften" aus.

  2. Wählen Sie die Registerkarte Delegierung aus.

  3. Wählen Sie Computer nur bei Delegierungen angegebener Dienste vertrauen aus.

  4. Wählen Sie dann Beliebiges Authentifizierungsprotokoll verwenden aus.

  5. Klicken Sie unter der Dienste, für die dieses Konto delegierte Anmeldeinformationen verwenden kann auf Hinzufügen.

  6. Wählen Sie im Dialogfeld „Neu“ Benutzer oder Computer aus.

  7. Geben Sie das Dienstkonto für den Analysis Services-Dienst ein, und klicken Sie auf OK.

  8. 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.

  9. Klicken Sie auf OK. Der SPN sollte jetzt in der Liste angezeigt werden.

  10. Wahlweise können Sie Erweitert auswählen, um den FQDN- und den NetBIOS-SPN in der Liste anzuzeigen.

  11. Klicken Sie erneut auf Hinzufügen. Wir fügen den SQL-Browser SPN jetzt hinzu.

  12. Wählen Sie im Dialogfeld „Neu“ Benutzer oder Computer aus.

  13. Geben Sie den Computernamen des Computers ein, auf dem sich der SQL Server-Browserdienst befindet, und klicken Sie auf OK.

  14. 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.

  15. Klicken Sie auf OK. Das Dialogfeld sollte ähnlich wie das folgende aussehen, wenn Sie Erweitert aktiviert haben.

    Screenshot von Power B I-Berichten mit der Registerkarte

  16. Klicken Sie auf OK.

  17. 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.

Screenshot von Power B I-Berichten mit Beispiel-Dashboardansicht.

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.