Konfigurieren der Kerberos-Authentifizierung zur Verwendung von Power BI-BerichtenConfigure Kerberos to use Power BI reports

Erfahren Sie, wie Ihren Berichtsserver in einer verteilten Umgebung für die Kerberos-Authentifizierung bei Datenquellen konfigurieren, die in Power BI-Berichten verwendet werden.Learn how to configure your report server for Kerberos authentication to data sources used within your Power BI reports for a distributed environment.

Power BI-Berichtsserver bietet die Möglichkeit zum Hosten von Power BI-Berichten.Power BI Report Server includes the ability to host Power BI reports. Ihr Berichtsserver unterstützt eine Vielzahl von Datenquellen.Many data sources are supported by your report server. 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.While this article focuses specificly on SQL Server Analysis Services, you can use the concepts and apply that to other data sources such as SQL Server.

Sie können Power BI-Berichtsserver, SQL Server und Analysis Services auf einem Computer installieren. Alles sollte ohne zusätzliche Konfiguration funktionieren.You can install Power BI Report Server, SQL Server and Analysis Services on a single machine and everything should work without additional configuration. Diese Konfiguration eignet sich hervorragend für eine Testumgebung.This is great for a test environment. Es können Fehler auftreten, wenn Sie diese Dienste auf verschiedenen Computern installiert haben, also in einer sog. verteilten Umgebung.You may hit errors if you have these services installed on separate machines which is called a distributed environment. In dieser Umgebung müssen Sie die Kerberos-Authentifizierung verwenden.In this environment, you are required to use Kerberos authentication. Um diese zu implementieren, muss eine Konfiguration erfolgen.There is configuration required to implement this.

Insbesondere müssen Sie die eingeschränkte Delegierung konfigurieren.Specifically, you will need to configure constrained delegation. Möglicherweise ist Kerberos in Ihrer Umgebung konfiguriert, aber ggf. nicht für die eingeschränkte Delegierung.You may have Kerberos configured in your environment but it may not be configured for constrained delegation.

Fehler bei der BerichtsausführungError running report

Wenn Ihr Berichtsserver nicht ordnungsgemäß konfiguriert ist, wird möglicherweise der folgende Fehler angezeigt.If your report server is not configured properly, you may receive the following error.

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 den technischen Details finden Sie die folgende Meldung.Within Technical details, you will see the following message.

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-DelegierungConfiguring Kerberos constrained delegation

Es gibt mehrere Elemente, die konfiguriert werden müssen, damit die eingeschränkte Kerberos-Delegierung funktioniert.There are several items that need to be configured in order for Kerberos constrained delegation to work. Dazu zählen Dienstprinzipalnamen (Service Principal Names, SPNs) und Delegierungseinstellungen für Dienstkonten.This includes Service Principal Names (SPN) and delegation settings on service accounts.

Hinweis

Um SPNs und Delegierungseinstellungen konfigurieren zu können, müssen Sie ein Domänenadministrator sein.In order to configure SPNs and delegation settings, you need to be a domain administrator.

Sie müssen Folgendes konfigurieren bzw. überprüfen.We will need to configure, or validate, the following.

  1. Authentifizierungstyp in der Berichtsserverkonfiguration.Authentication type within Report Server config.
  2. SPNs für das Dienstkonto des Berichtsservers.SPNs for the report server service account.
  3. SPNs für den SQL Analysis Services-Dienst.SPNs for the Analysis Services service.
  4. SPNs für den SQL Server-Browserdienst auf dem Analysis Services-Computer.SPNs for the SQL Browser service on the Analysis Services machine. Dies gilt für nur benannte Instanzen.This is for named instances only.
  5. Delegierungseinstellungen für das Dienstkonto des Berichtsservers.Delegation settings on the report server service account.

Authentifizierungstyp in der BerichtsserverkonfigurationAuthentication type within Report Server configuration

Wir müssen den Authentifizierungstyp für den Berichtsserver konfigurieren, um die eingeschränkte Kerberos-Delegierung zuzulassen.We need to configure the authentication type for the report server to allow for Kerberos constrained delegation. Dies erfolgt in der Datei rsreportserver.config.This is done within the rsreportserver.config file. Der Standardspeicherort dieser Datei ist C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.The default location for this file is C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

Wechseln Sie in der Datei „rsreportserver.config“ zum Abschnitt Authentication/AuthenticationTypes.Within the rsreportserver.config file, you will want to fine the Authentication/AuthenticationTypes section.

Wir möchten sicherstellen, dass „RSWindowsNegotiate“ in der Liste der Authentifizierungstypen als Erstes aufgeführt ist.We want to make sure that RSWindowsNegotiate is listed and the first in the list of authentication types. Die Ansicht sollte ungefähr wie folgt aussehen.It should look similar to the following.

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

Wenn Sie die Konfigurationsdatei ändern mussten, müssen Sie den Berichtsserver beenden und neu starten, damit die Änderungen wirksam werden.If you had to change the configuration file, you will want to stop and start the report server to make sure the changes take effect.

Weitere Informationen finden Sie unter Konfigurieren der Windows-Authentifizierung für den Berichtsserver.For more information, see Configure Windows Authentication on the Report Server.

SPNs für das Dienstkonto des BerichtsserversSPNs for the report server service account

Als Nächstes müssen wir sicherstellen, dass der Berichtsserver über gültige SPNs verfügt.Next, we need to make sure that the report server has valid SPNs available. Dies basiert auf dem Dienstkonto, das für den Berichtsserver konfiguriert ist.This is based on the service account that is configured for the report server.

Virtuelles Dienstkonto oder NetzwerkdienstVirtual Service Account or Network Service

Wenn der Berichtsserver für das virtuelle Dienstkonto oder das Konto „Netzwerkdienst“ konfiguriert ist, müssen Sie nichts tun.If your report server is configured for the Virtual Service Account or Network Service account, you should not have to do anything. Diese befinden sich im Kontext des Computerkontos.These are in the context of the machine account. Das Computerkonto weist standardmäßig SPNs des Typs HOST auf.The machine account will have HOST SPNs by default. Diese decken den HTTP-Dienst ab und werden vom Berichtsserver verwendet.These will cover the HTTP service and will be used by the report server.

Wenn Sie einen virtuellen Servernamen verwenden, der nicht mit dem Computerkonto identisch ist, ist die Abdeckung durch die HOST-Einträge nicht ausreichend, weshalb Sie die SPNs für den Hostnamen des virtuellen Servers manuell hinzufügen müssen.If you are using a virtual server name, one that is not same as the machine account, the HOST entries will not cover you and you will need to manually add the SPNs for the virtual server host name.

DomänenbenutzerkontoDomain user account

Wenn der Berichtsserver für das Verwenden eines Domänenbenutzerkontos konfiguriert ist, müssen Sie SPNs des Typs HTTP für dieses Konto manuell erstellen.If your report server is configured to use a domain user account, you will have to manually create HTTP SPNs on that account. Hierzu können Sie das Tool SetSPN im Funktionsumfang von Windows verwenden.This can be done using the setspn tool that comes with Windows.

Hinweis

Sie benötigen Domänenadministratorrechte, um den SPN zu erstellen.You will need domain admin rights in order to create the SPN.

Es wird empfohlen, zwei SPNs zu erstellen.It is recommended to create two SPNs. Einen mit dem NetBIOS-Namen und den anderen mit dem vollqualifizierten Domänennamen (FQDN).One with the NetBIOS name and the other with the fully qualified domain name (FQDN). Der SPN hat folgendes Format.The SPN will be in the following format.

<Service>/<Host>:<port>

Power BI-Berichtsserver nutzt den Dienst „HTTP“.Power BI Report Server will use a Service of HTTP. Für HTTP-SPNs listen Sie keinen Port auf.For HTTP SPNs you will not list a port. Der Dienst, an dem wir hier interessiert sind, ist HTTP.The service we are interested in here is HTTP. Der Host des SPN ist der Name, den Sie auch in einer URL verwenden.The host of the SPN will be the name you use in a URL. In der Regel ist dies der Computername.Typically, this is the machine name. Wenn Sie sich hinter einem Lastenausgleich befinden, ist dies möglicherweise ein virtueller Name.If you are behind a load balancer, this may be a virtual name.

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.You can verify the URL by either looking at what you enter into the address bar of the browser, or you can look in the Report Server Configuration Manager on the Web Portal URL tab.

Wenn der Computername „ContosoRS“ lautet, werden folgende SPNs benötigt.If your machine name is ContosoRS, your SPNs would be the following.

Typ des SPNSPN Type SPNSPN
Vollqualifizierter Domänennamen (FQDN)Fully Qualified Domain Name (FQDN) HTTP/ContosoRS.contoso.comHTTP/ContosoRS.contoso.com
NetBIOSNetBIOS HTTP/ContosoRSHTTP/ContosoRS

Angabe des SPNLocation of SPN

Wofür geben Sie also den SPN an?So, where do you put the SPN? Der SPN wird für das angegeben, was Sie als Dienstkonto verwenden.The SPN will be placed on whatever you are using for your service account. Wenn Sie „Virtuelles Dienstkonto“ oder „Netzwerkdienst“ verwenden, ist dies das Computerkonto.If you are using Virtual Service Account or Network Service, this will be the machine account. Wie bereits erwähnt, ist dies nur für eine virtuelle URL erforderlich.Although we mentioned before you should only need to do this for a virtual URL. Wenn ein Domänenbenutzer das Dienstkonto des Berichtsservers verwendet wird, geben Sie den SPN für dieses Domänenbenutzerkonto an.If you are using a domain user for the report server service account, then you will place the SPN on that domain user account.

Wenn wir beispielsweise das Konto „Netzwerkdienst“ verwenden und der Computername „ContosoRS“ lautet, geben wir den SPN für „ContosoRS“ an.For example, if we are using the Network Service account and our machine name is ContosoRS, we would place the SPN on ContosoRS.

Wenn wir das Domänenbenutzerkonto „RSService“ verwenden, geben wir den SPN für „RSService“ an.If we are using a domain user account of RSService, we would place the SPN on RSService.

Verwenden von SetSPN zum Hinzufügen des SPNUsing SetSPN to add the SPN

Mit dem Tool SetSPN können wir den SPN hinzuzufügen.We can use the SetSPN tool to add the SPN. Wir befolgen das gleiche Beispiel wie oben mit dem Computerkonto und Domänenbenutzerkonto.We will follow the same example as above with the Machine account and the domain user account.

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.Placing the SPN on a machine account, for both the FQDN and NetBIOS SPN, would look similar to the following if we were using a virtual URL of contosoreports.

  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.Placing the SPN on a domain user account, for both the FQDN and NetBIOS SPN, would look similar to the following if you were using the machine name for the host of the SPN.

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

SPNs für den SQL Analysis Services-DienstSPNs for the Analysis Services service

Die SPNs für Analysis Services sind ähnlich wie für Power BI-Berichtsserver.The SPNs for Analysis Services are similar to what we did with Power BI Report Server. Das Format des SPN ist ein wenig anders, wenn Sie über eine benannte Instanz verfügen.The format of the SPN is a little different if you have a named instance.

Für Analysis Services verwenden wir den Dienst „MSOLAPSvc.3“.For Analysis Services, we use a Service of MSOLAPSvc.3. Wir geben den Instanznamen für den Port des SPN an.We will specify the instance name for the port location on the SPN. Der Hostteil des SPN ist entweder der Computername oder virtuelle Name des Clusters.The host part of the SPN will either be the machine name, or the Cluster virtual name.

Es folgt ein Beispiel eines SPN für Analysis Services.An example of an Analysis Services SPN would look like the following.

TypType FormatFormat
StandardinstanzDefault instance MSOLAPSvc.3/ContosoAS.contoso.comMSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoASMSOLAPSvc.3/ContosoAS
Benannte InstanzNamed instance MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAMEMSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:INSTANCENAMEMSOLAPSvc.3/ContosoAS:INSTANCENAME

Die Angabe des SPN ähnelt auch der Vorgehensweise bei Power BI-Berichtsserver.Placement of the SPN is also similar to what was mentioned with Power BI Report Server. Sie basiert auf dem Dienstkonto.It is based on the service account. Wenn Sie „Lokales System“ oder „Netzwerkdienst“ verwenden, befinden Sie sich im Kontext des Computerkontos.If you are using Local System or Network Service, you will be in the context of the machine account. Wenn ein Domänenbenutzer für die Analysis Services-Instanz verwendet wird, geben Sie den SPN für dieses Domänenbenutzerkonto an.If you are using a domain user account for the Analysis Services instance, you will place the SPN on the domain user account.

Verwenden von SetSPN zum Hinzufügen des SPNUsing SetSPN to add the SPN

Mit dem Tool SetSPN können wir den SPN hinzuzufügen.We can use the SetSPN tool to add the SPN. In diesem Beispiel lautet der Computername „ContosoAS“.For this example, the machine name will be 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.Placing the SPN on a machine account, for both the FQDN and NetBIOS SPN, would look similar to the following.

Setspn -a MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -a 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.Placing the SPN on a domain user account, for both the FQDN and NetBIOS SPN, would look similar to the following.

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

SPN für den SQL Server-BrowserdienstSPNs for the SQL Browser service

Wenn Sie eine benannte Analysis Services-Instanz haben, benötigen Sie auch einen SPN für den SQL Server-Browserdienst.If you have an Analysis Services named instance, you also need to make sure you have an SPN for the browser service. Dies gilt nur für Analysis Services.This is unique to Analysis Services.

Die SPNs für den SQL Server-Browserdienst sind ähnlich wie für Power BI-Berichtsserver.The SPNs for SQL Browser are similar to what we did with Power BI Report Server.

Für den SQL Server-Browserdienst verwenden wir den Dienst „MSOLAPDisco.3“.For SQL Browser, we use a Service of MSOLAPDisco.3. Wir geben den Instanznamen für den Port des SPN an.We will specify the instance name for the port location on the SPN. Der Hostteil des SPN ist entweder der Computername oder virtuelle Name des Clusters.The host part of the SPN will either be the machine name, or the Cluster virtual name. Sie müssen nichts für den Instanznamen oder Port angeben.You do not have to specify anything for the instance name or port.

Es folgt ein Beispiel eines SPN für Analysis Services.An example of an Analysis Services SPN would look like the following.

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

Die Angabe des SPN ähnelt auch der Vorgehensweise bei Power BI-Berichtsserver.Placement of the SPN is also similar to what was mentioned with Power BI Report Server. Der Unterschied besteht darin, dass SQL Server-Browserdienst immer unter dem Konto „Lokales System“ ausgeführt wird.The difference here is that SQL Browser always runs under the Local System account. Dies bedeutet, dass die SPNs stets für das Computerkonto angegeben werden.This means that the SPNs will always go on the machine account.

Verwenden von SetSPN zum Hinzufügen des SPNUsing SetSPN to add the SPN

Mit dem Tool SetSPN können wir den SPN hinzuzufügen.We can use the SetSPN tool to add the SPN. In diesem Beispiel lautet der Computername „ContosoAS“.For this example, the machine name will be 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.Placing the SPN on the machine account, for both the FQDN and NetBIOS SPN, would look similar to the following.

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

Weitere Informationen finden Sie unter Ein SPN für den SQL Server-Browserdienst ist erforderlich.For more information, see An SPN for the SQL Server Browser service is required.

Delegierungseinstellungen für das Dienstkonto des BerichtsserversDelegation settings on the report server service account

Zuletzt konfigurieren wir die Delegierungseinstellungen für das Dienstkonto des Berichtsservers.The last part that we have to configure are the delegation settings on the report server service account. Es gibt verschiedene Tools, die Sie verwenden können, um diese Schritte auszuführen.There are different tools you can use to perform these steps. Im Rahmen dieses Dokuments bleiben wir bei Active Directory-Benutzer und -Computer.For the purposes of this document, we will stick with Active Directory Users and Computers.

Öffnen Sie in Active Directory-Benutzer und -Computer die Eigenschaften des Dienstkontos des Berichtsservers.You will need to start by going to the properties of the report server service account within Active Directory Users and Computers. Dies ist entweder das Computerkonto (bei Verwenden von „Virtuelles Dienstkonto“ oder „Netzwerkdienst“) oder ein Domänenbenutzerkonto.This will either be the machine account, if you used Virtual Service Account or Network Service, or it will be a domain user account.

Wir konfigurieren die eingeschränkte Delegierung mit Protokollübertragung.We will want to configure constrained delegation with protocol transiting. Bei der eingeschränkten Delegierung müssen Sie explizit angeben, an welche Dienste die Delegierung erfolgen soll.With constrained delegation, you need to be explicit with which services we want to delegate to. Wir fügen sowohl den SPN des Analysis Services-Diensts als auch den SPN des SQL Server-Browserdiensts der Liste hinzu, an die Power BI-Berichtsserver delegieren kann.We will go and add both the Analysis Services service SPN and the SQL Browser SPN to the list that Power BI Report Server can delegate to.

  1. Klicken Sie mit der rechten Maustaste auf das Dienstkonto des Berichtsservers, und wählen Sie Eigenschaften aus.Right click on the report server service account and select Properties.
  2. Wählen Sie die Registerkarte Delegierung aus.Select the Delegation tab.
  3. Wählen Sie Computer nur bei Delegierungen angegebener Dienste vertrauen aus.Select Trust this computer for delegation to specified services only.
  4. Wählen Sie dann Beliebiges Authentifizierungsprotokoll verwenden aus.Select Use any authentication protocol.
  5. Klicken Sie unter der Dienste, für die dieses Konto delegierte Anmeldeinformationen verwenden kann auf Hinzufügen.Under the Services to which this account can present delegated credentials: select Add.
  6. Wählen Sie im Dialogfeld „Neu“ Benutzer oder Computer aus.In the new dialog, select Users or Computers.
  7. Geben Sie das Dienstkonto für den Analysis Services-Dienst ein, und klicken Sie auf OK.Enter the service account for the Analysis Services service and select Ok.
  8. Wählen Sie den SPN aus, den Sie erstellt haben.Select the SPN that you created. Er beginnt mit MSOLAPSvc.3.It will begin with MSOLAPSvc.3. Wenn Sie den FQDN- und den NetBIOS-SPN hinzugefügt haben, werden beide ausgewählt.If you added both the FQDN and the NetBIOS SPN, it will select both. Ggf. wird nur einer angezeigt.You may only see one.
  9. Klicken Sie auf OK.Select OK. Der SPN sollte jetzt in der Liste angezeigt werden.You should see the SPN in the list now.
  10. Wahlweise können Sie Erweitert auswählen, um den FQDN- und den NetBIOS-SPN in der Liste anzuzeigen.Optionally, you can select Expanded to show both the FQDN and NetBIOS SPN in the list.
  11. Klicken Sie erneut auf Hinzufügen.Select Add again. Nun wird der SPN des SQL Server-Browserdiensts hinzugefügt.We will add the SQL Browser SPN now.
  12. Wählen Sie im Dialogfeld „Neu“ Benutzer oder Computer aus.In the new dialog, select Users or Computers.
  13. Geben Sie den Computernamen des Computers ein, auf dem sich der SQL Server-Browserdienst befindet, und klicken Sie auf OK.Enter the Machine name for the machine the SQL Browser service is on and select Ok.
  14. Wählen Sie den SPN aus, den Sie erstellt haben.Select the SPN that you created. Er beginnt mit MSOLAPDisco.3.It will begin with MSOLAPDisco.3. Wenn Sie den FQDN- und den NetBIOS-SPN hinzugefügt haben, werden beide ausgewählt.If you added both the FQDN and the NetBIOS SPN, it will select both. Ggf. wird nur einer angezeigt.You may only see one.
  15. Klicken Sie auf OK.Select Ok. Das Dialogfeld sollte ähnlich wie das folgende aussehen, wenn Sie Erweitert aktiviert haben.The dialog should look similar to the following if you checked Expanded.

  16. Klicken Sie auf OK.Select Ok.
  17. Starten Sie Power BI-Berichtsserver neu.Reboot the Power BI Report Server.

Ausführen eines Power BI-BerichtsRunning a Power BI Report

Sobald die zuvor beschriebene Konfiguration vorhanden ist, sollte Ihr Bericht ordnungsgemäß angezeigt werden.After all of the above configuration is in place, your report should display properly.

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.While this configuration should work in most cases, with Kerberos, there can be different configuration depending on your environment. Wenn der Bericht nicht geladen wird, sollten Sie den Domänenadministrator bitten, dies zu untersuchen, oder sich an den Support wenden.If the report will still not load, you will want to reach out to your domain administrator to investigate further or contact support.

Nächste SchritteNext steps

AdministratorhandbuchAdministrator handbook
Schnellstart: Installieren von Power BI-BerichtsserverQuickstart: Install Power BI Report Server

Weitere Fragen?More questions? Stellen Sie Ihre Frage in der Power BI-Community.Try asking the Power BI Community