Konfigurace protokolu Kerberos k používání sestav Power BIConfigure Kerberos to use Power BI reports

Zjistěte jak server sestav nakonfigurovat pro ověřování protokolem Kerberos u zdrojů dat používaných v sestavách Power BI pro distribuované prostředí.Learn how to configure your report server for Kerberos authentication to data sources used within your Power BI reports for a distributed environment.

Server sestav Power BI zahrnuje možnost hostovat sestavy Power BI.Power BI Report Server includes the ability to host Power BI reports. Server sestav podporuje mnoho zdrojů dat.Many data sources are supported by your report server. Tento článek se týká konkrétně služby SQL Server Analysis Services, ale podobný postup můžete použít i u jiných zdrojů dat, jako je například SQL Server.While this article focuses specifically on SQL Server Analysis Services, you can use the concepts and apply that to other data sources such as SQL Server.

Server sestav Power BI, SQL Server a službu Analysis Services můžete nainstalovat na stejný počítač a všechno by mělo fungovat bez další konfigurace.You can install Power BI Report Server, SQL Server and Analysis Services on a single machine and everything should work without additional configuration. Takto vznikne skvělé testovací prostředí.This is great for a test environment. Pokud tyto služby nainstalujete na samostatné počítače (vytvoříte distribuované prostředí), můžete narazit na chyby.You may hit errors if you have these services installed on separate machines which is called a distributed environment. V distribuovaném prostředí je nutné ověřování protokolem Kerberos používat.In this environment, you are required to use Kerberos authentication. Pro jeho implementaci musíte provést konfiguraci.There is configuration required to implement this.

Konkrétně musíte nakonfigurovat omezené delegování.Specifically, you will need to configure constrained delegation. Protokol Kerberos možná máte ve svém prostředí nakonfigurovaný, ale pro omezené delegování pravděpodobně nakonfigurovaný nebude.You may have Kerberos configured in your environment but it may not be configured for constrained delegation.

Chyba při spuštění sestavyError running report

Pokud nemáte správně nakonfigurovaný server sestav, může dojít k následující chybě.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. 

V technických podrobnostech se zobrazí tato zpráva.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.

Snímek obrazovky se Sestavami Power BI zobrazující chybovou zprávu týkající se potíží s připojením k serveru Analysis Services

Konfigurace omezeného delegování protokolu KerberosConfiguring Kerberos constrained delegation

Existuje několik položek, které je potřeba nakonfigurovat, aby omezené delegování protokolu Kerberos fungovalo.There are several items that need to be configured in order for Kerberos constrained delegation to work. Patří mezi ně hlavní názvy služby (SPN) a nastavení delegování pro účty služby.This includes Service Principal Names (SPN) and delegation settings on service accounts.

Poznámka

Pokud chcete nakonfigurovat hlavní názvy služby a nastavení delegování, musíte být správcem domény.In order to configure SPNs and delegation settings, you need to be a domain administrator.

Bude potřeba nakonfigurovat nebo zkontrolovat následující.We will need to configure, or validate, the following.

  1. Typ ověřování v konfiguračním souboru serveru sestavAuthentication type within Report Server config.
  2. Hlavní názvy služby pro účet služby serveru sestavSPNs for the report server service account.
  3. Hlavní názvy služby pro službu Analysis ServicesSPNs for the Analysis Services service.
  4. Hlavní názvy služby pro službu SQL Browser na počítači se službou Analysis ServicesSPNs for the SQL Browser service on the Analysis Services machine. (pouze pro pojmenované instance)This is for named instances only.
  5. Nastavení delegování na účtu služby serveru sestavDelegation settings on the report server service account.

Typ ověřování v konfiguraci serveru sestavAuthentication type within Report Server configuration

Pro server sestav je potřeba nakonfigurovat typ ověřování, který umožní omezené delegování protokolu Kerberos.We need to configure the authentication type for the report server to allow for Kerberos constrained delegation. To se provádí v souboru rsreportserver.config.This is done within the rsreportserver.config file. Výchozím umístěním tohoto souboru je 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.

V souboru rsreportserver.config najděte část Authentication/AuthenticationTypes.Within the rsreportserver.config file, you will want to fine the Authentication/AuthenticationTypes section.

Položka RSWindowsNegotiate musí být v seznamu typů ověřování uvedená jako první.We want to make sure that RSWindowsNegotiate is listed and the first in the list of authentication types. Mělo by to vypadat následovně.It should look similar to the following.

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

Pokud jste museli konfigurační soubor změnit, server sestav zastavte a znovu ho spusťte, abyste se ujistili, že se změny projeví.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.

Další informace najdete v tématu o konfiguraci ověřování systému Windows na serveru sestav.For more information, see Configure Windows Authentication on the Report Server.

Hlavní názvy služby pro účet služby serveru sestavSPNs for the report server service account

V dalším kroku se musíme ujistit, že server sestav má k dispozici platné hlavní názvy služby.Next, we need to make sure that the report server has valid SPNs available. Ty jsou založené na účtu služby, který se pro server sestav konfiguruje.This is based on the service account that is configured for the report server.

Účet virtuální služby nebo síťové službyVirtual Service Account or Network Service

Pokud je server sestav nakonfigurovaný pro účet virtuální služby nebo síťové služby, nebudete muset nic dělat.If your report server is configured for the Virtual Service Account or Network Service account, you should not have to do anything. Tyto účty jsou v kontextu účtu počítače.These are in the context of the machine account. Účet počítače bude mít ve výchozím nastavení hlavní názvy služby hostitele.The machine account will have HOST SPNs by default. Ty budou zahrnovat službu HTTP a bude je používat server sestav.These will cover the HTTP service and will be used by the report server.

Pokud používáte název virtuálního serveru, který není stejný jako účet počítače, nebudete zahrnutí v položkách hostitele a budete muset názvu hostitele virtuálního serveru ručně přidat hlavní názvy služby.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.

Účet uživatele doményDomain user account

Pokud je server sestav nakonfigurovaný k použití uživatelského účtu domény, budete na tomto účtu muset ručně vytvořit hlavní názvy služby HTTP.If your report server is configured to use a domain user account, you will have to manually create HTTP SPNs on that account. To je možné provést pomocí nástroje SetSPN, který je součásti Windows.This can be done using the setspn tool that comes with Windows.

Poznámka

Abyste mohli hlavní název služby vytvořit, budete potřebovat oprávnění správce domény.You will need domain admin rights in order to create the SPN.

Doporučuje se vytvořit dva hlavní názvy služby.It is recommended to create two SPNs. Jeden s názvem NetBIOS a druhý s plně kvalifikovaným názvem domény (FQDN).One with the NetBIOS name and the other with the fully qualified domain name (FQDN). Hlavní název služby bude v následujícím formátu.The SPN will be in the following format.

<Service>/<Host>:<port>

Server sestav Power BI použije službu HTTP.Power BI Report Server will use a Service of HTTP. U hlavních názvů služby HTTP nebudete uvádět port.For HTTP SPNs you will not list a port. Služba, která nás zde zajímá, je HTTP.The service we are interested in here is HTTP. Hostitel hlavního názvu služby bude název, který používáte v adrese URL.The host of the SPN will be the name you use in a URL. Obvykle je to název počítače.Typically, this is the machine name. Pokud jste za službou vyrovnávání zatížení, může to být virtuální název.If you are behind a load balancer, this may be a virtual name.

Poznámka

Adresu URL můžete ověřit buď zkontrolováním toho, co jste zadali do adresního řádku prohlížeče, nebo se na kartě adresy URL webového portálu můžete podívat do Správce konfigurace serveru sestav.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.

Pokud je název počítače ContosoRS, hlavní názvy služby budou následující.If your machine name is ContosoRS, your SPNs would be the following.

Typ hlavního názvu službySPN Type Hlavní název službySPN
Plně kvalifikovaný název domény (FQDN)Fully Qualified Domain Name (FQDN) HTTP/ContosoRS.contoso.comHTTP/ContosoRS.contoso.com
NetBIOSNetBIOS HTTP/ContosoRSHTTP/ContosoRS

Umístění hlavního názvu službyLocation of SPN

Kam tedy máte hlavní název služby vložit?So, where do you put the SPN? Hlavní název služby umístíte na cokoli, co používáte jako účet služby.The SPN will be placed on whatever you are using for your service account. Pokud používáte účet virtuální služby nebo síťové služby, bude to účet počítače.If you are using Virtual Service Account or Network Service, this will be the machine account. O tomto jsme se však už zmiňovali, že byste to měli dělat pouze u virtuální adresy URL.Although we mentioned before you should only need to do this for a virtual URL. Pokud používáte jako účet služby serveru uživatele domény, potom umístíte hlavní název služby na tento účet uživatele domény.If you are using a domain user for the report server service account, then you will place the SPN on that domain user account.

Například pokud používáme účet síťové služby a název počítače je ContosoRS, umístili bychom hlavní název služby na ContosoRS.For example, if we are using the Network Service account and our machine name is ContosoRS, we would place the SPN on ContosoRS.

Pokud používáme účet uživatele domény s názvem RSService, umístili bychom hlavní název služby na RSService.If we are using a domain user account of RSService, we would place the SPN on RSService.

Použití nástroje SetSPN pro přidání hlavního názvu službyUsing SetSPN to add the SPN

K přidání hlavního názvu služby můžeme použít nástroj SetSPN.We can use the SetSPN tool to add the SPN. Budeme postupovat stejný způsobem jako ve výše uvedeném příkladu s účtem počítače a účtem uživatele domény.We will follow the same example as above with the Machine account and the domain user account.

Kdybychom používali virtuální adresu URL sestav contosoreports, umístění hlavního názvu služby na účet počítače, jak pro plně kvalifikovaný název domény, tak i hlavní název služby NetBIOS, by vypadalo podobně jako následující příklad.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

Kdybyste pro hostitele hlavního názvu služby používali název počítače, umístění hlavního názvu služby na účet uživatele domény, jak pro plně kvalifikovaný název domény, tak i hlavní název služby NetBIOS, by vypadalo podobně jako následující příklad.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

Hlavní názvy služby pro službu Analysis ServicesSPNs for the Analysis Services service

Hlavní názvy služby pro službu Analysis Services fungují podobně jako pro Server sestav Power BI.The SPNs for Analysis Services are similar to what we did with Power BI Report Server. Formát hlavního názvu služby se mírně liší, když máte pojmenovanou instanci.The format of the SPN is a little different if you have a named instance.

Pro službu Analysis Services se používá služba MSOLAPSvc.3.For Analysis Services, we use a Service of MSOLAPSvc.3. Místo umístění portu na hlavním názvu služby zadáme název instance.We will specify the instance name for the port location on the SPN. Část hostitele v hlavním názvu služby bude buď název počítače, nebo virtuální název clusteru.The host part of the SPN will either be the machine name, or the Cluster virtual name.

Příklad hlavního názvu služby by u služby Analysis Services měl vypadat takto.An example of an Analysis Services SPN would look like the following.

TypType FormátFormat
Výchozí instanceDefault instance MSOLAPSvc.3/ContosoAS.contoso.comMSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoASMSOLAPSvc.3/ContosoAS
Pojmenovaná instanceNamed instance MSOLAPSvc.3/ContosoAS.contoso.com:NÁZEVINSTANCEMSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:NÁZEVINSTANCEMSOLAPSvc.3/ContosoAS:INSTANCENAME

Umístění hlavního názvu služby je také podobné jako u Serveru sestav Power BI.Placement of the SPN is also similar to what was mentioned with Power BI Report Server. a je založené na účtu služby.It is based on the service account. Pokud používáte místní systém nebo síťovou službu, budete v kontextu účtu počítače.If you are using Local System or Network Service, you will be in the context of the machine account. Pokud používáte účet uživatele domény jako instanci služby Analysis Services, umístíte hlavní název služby na tento účet uživatele domény.If you are using a domain user account for the Analysis Services instance, you will place the SPN on the domain user account.

Použití nástroje SetSPN pro přidání hlavního názvu službyUsing SetSPN to add the SPN

K přidání hlavního názvu služby můžeme použít nástroj SetSPN.We can use the SetSPN tool to add the SPN. V tomto příkladu bude název počítače ContosoAS.For this example, the machine name will be ContosoAS.

Umístění hlavního názvu služby na účet počítače, jak pro plně kvalifikovaný název domény, tak i hlavní název služby NetBIOS, by vypadalo podobně jako následující příklad.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

Umístění hlavního názvu služby na účet uživatele domény, jak pro plně kvalifikovaný název domény, tak i hlavní název služby NetBIOS, by vypadalo podobně jako následující příklad.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

Hlavní názvy služby pro službu SQL BrowserSPNs for the SQL Browser service

Pokud máte pojmenovanou instanci služby Analysis Services, musíte se také ujistit, že máte hlavní název služby pro službu SQL Browser.If you have an Analysis Services named instance, you also need to make sure you have an SPN for the browser service. Toto platí pouze pro službu Analysis Services.This is unique to Analysis Services.

Hlavní názvy služby pro službu SQL Browser fungují podobně jako pro Server sestav Power BI.The SPNs for SQL Browser are similar to what we did with Power BI Report Server.

Pro službu SQL Browser se používá služba MSOLAPDisco.3.For SQL Browser, we use a Service of MSOLAPDisco.3. Místo umístění portu na hlavním názvu služby zadáme název instance.We will specify the instance name for the port location on the SPN. Část hostitele v hlavním názvu služby bude buď název počítače, nebo virtuální název clusteru.The host part of the SPN will either be the machine name, or the Cluster virtual name. Název instance ani port zadávat nemusíte.You do not have to specify anything for the instance name or port.

Příklad hlavního názvu služby by u služby Analysis Services měl vypadat takto.An example of an Analysis Services SPN would look like the following.

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

Umístění hlavního názvu služby je také podobné jako u Serveru sestav Power BI.Placement of the SPN is also similar to what was mentioned with Power BI Report Server. Hlavním rozdílem je, že služba SQL Browser vždy běží pod účtem místního systému.The difference here is that SQL Browser always runs under the Local System account. To znamená, že hlavní názvy služby vždy přijdou na účet počítače.This means that the SPNs will always go on the machine account.

Použití nástroje SetSPN pro přidání hlavního názvu službyUsing SetSPN to add the SPN

K přidání hlavního názvu služby můžeme použít nástroj SetSPN.We can use the SetSPN tool to add the SPN. V tomto příkladu bude název počítače ContosoAS.For this example, the machine name will be ContosoAS.

Umístění hlavního názvu služby na tento účet počítače, jak pro plně kvalifikovaný název domény, tak i hlavní název služby NetBIOS, by vypadalo podobně jako následující příklad.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

Další informace získáte v tématu o vyžadování hlavního názvu služby pro službu SQL Server Browser.For more information, see An SPN for the SQL Server Browser service is required.

Nastavení delegování na účtu služby serveru sestavDelegation settings on the report server service account

Poslední částí, kterou musíme nakonfigurovat, jsou nastavení delegování na účtu služby serveru sestav.The last part that we have to configure are the delegation settings on the report server service account. Tento postup je možné provést pomocí různých nástrojů.There are different tools you can use to perform these steps. Pro účely tohoto dokumentu se budeme držet modulu Uživatelé a počítače služby Active Directory.For the purposes of this document, we will stick with Active Directory Users and Computers.

Začneme přejitím do vlastností účtu služby serveru sestav v modulu Uživatelé a počítače služby Active Directory.You will need to start by going to the properties of the report server service account within Active Directory Users and Computers. Bude jím buď účet počítače, pokud jste použili účet virtuální služby nebo síťové služby, nebo účet uživatele domény.This will either be the machine account, if you used Virtual Service Account or Network Service, or it will be a domain user account.

Omezené delegování nakonfigurujeme pomocí přechodu protokolu.We will want to configure constrained delegation with protocol transiting. U omezeného delegování je nutné explicitně určit, se kterými službami chceme delegování používat.With constrained delegation, you need to be explicit with which services we want to delegate to. Na seznam, na který může Server sestav Power BI delegovat, přidáme hlavní název služby pro službu Analysis Services i hlavní název služby pro službu SQL Browser.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. Klikněte pravým tlačítkem na účet služby serveru sestav a vyberte Vlastnosti.Right click on the report server service account and select Properties.

  2. Vyberte kartu Delegování.Select the Delegation tab.

  3. Vyberte Důvěřovat tomuto počítači pro delegování pouze určeným službám.Select Trust this computer for delegation to specified services only.

  4. Vyberte možnost pro použití libovolného protokolu pro ověřování.Select Use any authentication protocol.

  5. V části Služby, kterým může tento účet předložit delegovaná pověření: vyberte Přidat.Under the Services to which this account can present delegated credentials: select Add.

  6. V novém dialogovém okně vyberte Uživatelé a Počítače.In the new dialog, select Users or Computers.

  7. Zadejte účet služby pro službu Analysis Services a vyberte Ok.Enter the service account for the Analysis Services service and select Ok.

  8. Vyberte vytvořený hlavní název služby.Select the SPN that you created. Bude začínat na MSOLAPSvc.3.It will begin with MSOLAPSvc.3. Pokud jste přidali hlavní název služby pro plně kvalifikovaný název domény i pro NetBIOS, vyberou se oba.If you added both the FQDN and the NetBIOS SPN, it will select both. Nejspíš se však zobrazí pouze jeden.You may only see one.

  9. Vyberte OK.Select OK. Nyní byste měli tento hlavní název služby vidět v seznamu.You should see the SPN in the list now.

  10. Volitelně můžete vybrat možnost Rozšířené, aby se na seznamu zobrazil hlavní název služby pro plně kvalifikovaný název domény i pro NetBIOS.Optionally, you can select Expanded to show both the FQDN and NetBIOS SPN in the list.

  11. Znovu vyberte Přidat.Select Add again. Nyní přidáme hlavní název služby pro službu SQL Browser.We will add the SQL Browser SPN now.

  12. V novém dialogovém okně vyberte Uživatelé a Počítače.In the new dialog, select Users or Computers.

  13. Zadejte název počítače, na kterém se služba SQL Browser nachází, a vyberte Ok.Enter the Machine name for the machine the SQL Browser service is on and select Ok.

  14. Vyberte vytvořený hlavní název služby.Select the SPN that you created. Bude začínat na MSOLAPDisco.3.It will begin with MSOLAPDisco.3. Pokud jste přidali hlavní název služby pro plně kvalifikovaný název domény i pro NetBIOS, vyberou se oba.If you added both the FQDN and the NetBIOS SPN, it will select both. Možná se zobrazí jenom jeden.You may only see one.

  15. Vyberte OK.Select Ok. Pokud jste zaškrtli možnost Rozšířené, dialogové okno by mělo vypadat následovně.The dialog should look similar to the following if you checked Expanded.

    Snímek obrazovky se Sestavami Power BI zobrazující kartu Delegování okna Vlastnosti

  16. Vyberte OK.Select Ok.

  17. Restartujte Server sestav Power BI.Reboot the Power BI Report Server.

Spuštění sestavy Power BIRunning a Power BI Report

Po nakonfigurování výše uvedených položek by se sestava měla zobrazovat správně.After all of the above configuration is in place, your report should display properly.

Snímek obrazovky se Sestavami Power BI znázorňující ukázkové zobrazení řídicího panelu

Ve většině případů by konfigurace měla fungovat, ale protokol Kerberos může v závislosti na prostředí vyžadovat jinou konfiguraci.While this configuration should work in most cases, with Kerberos, there can be different configuration depending on your environment. Pokud se sestava nenačte, kontaktujte správce domény, aby to prošetřil nebo kontaktoval podporu.If the report will still not load, you will want to reach out to your domain administrator to investigate further or contact support.

Další krokyNext steps

Přehled pro správceAdministrator overview
Instalace Serveru sestav Power BIInstall Power BI Report Server

Máte další otázky?More questions? Zkuste se zeptat v komunitě Power BI.Try asking the Power BI Community