Konfigurowanie protokołu Kerberos do korzystania z raportów usługi Power BI

Dowiedz się, jak skonfigurować serwer raportów na potrzeby uwierzytelniania Kerberos w źródłach danych używanych w raportach usługi Power BI dla środowiska rozproszonego.

Uwaga

To wideo może używać wcześniejszych wersji Serwer raportów usługi Power BI.

Serwer raportów usługi Power BI obejmuje możliwość hostowania raportów usługi Power BI. Wiele źródeł danych jest obsługiwanych przez serwer raportów. Chociaż ten artykuł koncentruje się specjalnie na usługach SQL Server Analysis Services, możesz użyć tych pojęć i zastosować je do innych źródeł danych, takich jak SQL Server.

Możesz zainstalować Serwer raportów usługi Power BI, program SQL Server i usługi Analysis Services na jednej maszynie, a wszystko powinno działać bez dodatkowej konfiguracji. Jest to doskonałe rozwiązanie dla środowiska testowego. Błędy mogą wystąpić, jeśli te usługi są zainstalowane na oddzielnych maszynach nazywanych środowiskiem rozproszonym. W tym środowisku wymagane jest użycie uwierzytelniania Kerberos. Aby to zaimplementować, wymagana jest konfiguracja.

W szczególności należy skonfigurować ograniczone delegowanie. Być może w środowisku skonfigurowano protokół Kerberos, ale nie można go skonfigurować pod kątem ograniczonego delegowania.

Błąd podczas uruchamiania raportu

Jeśli serwer raportów nie jest poprawnie skonfigurowany, może zostać wyświetlony następujący błąd.

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. 

W obszarze Szczegóły techniczne zostanie wyświetlony następujący komunikat.

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 of Power B I Reports showing error message related to issues connecting with Analysis Services server.

Konfigurowanie ograniczonego delegowania protokołu Kerberos

Istnieje kilka elementów, które należy skonfigurować, aby ograniczone delegowanie protokołu Kerberos działało. Obejmuje to nazwy główne usługi (SPN) i ustawienia delegowania na kontach usług.

Uwaga

Aby skonfigurować nazwy SPN i ustawienia delegowania, musisz być administratorem domeny.

Musimy skonfigurować lub zweryfikować następujące elementy.

  1. Typ uwierzytelniania w konfiguracji serwera raportów.
  2. Nazwy SPN dla konta usługi serwera raportów.
  3. Nazwy SPN dla usługi Analysis Services.
  4. Nazwy SPN dla usługi SQL Browser na maszynie usług Analysis Services. Dotyczy to tylko nazwanych wystąpień.
  5. Ustawienia delegowania na koncie usługi serwera raportów.

Typ uwierzytelniania w konfiguracji serwera raportów

Musimy skonfigurować typ uwierzytelniania dla serwera raportów, aby zezwolić na ograniczone delegowanie Protokołu Kerberos. Odbywa się to w pliku rsreportserver.config . Domyślną lokalizacją tego pliku jest C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

W pliku rsreportserver.config należy dostosować sekcję Authentication/AuthenticationTypes .

Chcemy upewnić się, że element RSWindowsNegotiate znajduje się na liście i pierwszy na liście typów uwierzytelniania. Zawartość powinna wyglądać mniej więcej tak.

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

Jeśli trzeba zmienić plik konfiguracji, należy zatrzymać i uruchomić serwer raportów, aby upewnić się, że zmiany zostaną wprowadzone.

Aby uzyskać więcej informacji, zobacz Konfigurowanie uwierzytelniania systemu Windows na serwerze raportów.

Nazwy SPN dla konta usługi serwera raportów

Następnie musimy upewnić się, że serwer raportów ma dostępne prawidłowe nazwy SPN. Jest to oparte na koncie usługi skonfigurowanym dla serwera raportów.

Konto usługi wirtualnej lub usługa sieciowa

Jeśli serwer raportów jest skonfigurowany dla konta usługi wirtualnej lub konta usługi sieciowej, nie należy wykonywać żadnych czynności. Znajdują się one w kontekście konta komputera. Konto maszyny będzie domyślnie mieć nazwy SPN hosta. Będą one obejmować usługę HTTP i będą używane przez serwer raportów.

Jeśli używasz nazwy serwera wirtualnego, takiej, która nie jest taka sama jak konto maszyny, wpisy HOSTA nie zostaną uwzględnione i należy ręcznie dodać nazwy SPN dla nazwy hosta serwera wirtualnego.

Konto użytkownika domeny

Jeśli serwer raportów jest skonfigurowany do używania konta użytkownika domeny, musisz ręcznie utworzyć nazwy SPN HTTP na tym koncie. Można to zrobić przy użyciu narzędzia setspn dostarczanego z systemem Windows.

Uwaga

Aby utworzyć nazwę SPN, musisz mieć uprawnienia administratora domeny.

Zaleca się utworzenie dwóch nazw SPN. Jeden z nazwą NetBIOS, a drugi z w pełni kwalifikowaną nazwą domeny (FQDN). Nazwa SPN będzie mieć następujący format.

<Service>/<Host>:<port>

Serwer raportów usługi Power BI będzie używać usługi HTTP. W przypadku nazw SPN protokołu HTTP nie będzie na liście portów. Usługa, która nas interesuje, to HTTP. Host nazwy SPN będzie nazwą używaną w adresie URL. Zazwyczaj jest to nazwa maszyny. Jeśli używasz modułu równoważenia obciążenia, może to być nazwa wirtualna.

Uwaga

Możesz zweryfikować adres URL, sprawdzając, co wprowadzasz na pasku adresu przeglądarki, lub możesz zajrzeć do Menedżera konfiguracji serwera raportów na karcie Adres URL portalu internetowego.

Jeśli nazwa maszyny to ContosoRS, nazwy SPN będą następujące.

Typ głównej nazwy usługi SPN
W pełni kwalifikowana nazwa domeny (FQDN) HTTP/ContosoRS.contoso.com
NetBIOS HTTP/ContosoRS

Lokalizacja głównej nazwy usługi

Więc gdzie umieścić nazwę SPN? Nazwa SPN zostanie umieszczona dla dowolnego konta usługi. Jeśli używasz konta usługi wirtualnej lub usługi sieciowej, będzie to konto komputera. Chociaż wspomniano wcześniej, należy to zrobić tylko dla wirtualnego adresu URL. Jeśli używasz użytkownika domeny dla konta usługi serwera raportów, należy umieścić nazwę SPN na tym koncie użytkownika domeny.

Jeśli na przykład używamy konta usługi sieciowej, a nazwa maszyny to ContosoRS, należy umieścić nazwę SPN w usłudze ContosoRS.

Jeśli używamy konta użytkownika domeny RSService, należy umieścić nazwę SPN w usłudze RSService.

Dodawanie nazwy SPN przy użyciu programu SetSPN

Aby dodać nazwę SPN, możemy użyć narzędzia SetSPN. Użyjemy tego samego przykładu, jak powyżej, przy użyciu konta komputera i konta użytkownika domeny.

Umieszczenie nazwy SPN na koncie maszyny, zarówno dla nazwy SPN FQDN, jak i NetBIOS, będzie wyglądać podobnie do poniższego, jeśli używaliśmy wirtualnego adresu URL contosoreports.

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

Umieszczenie nazwy SPN na koncie użytkownika domeny, zarówno dla nazwy SPN FQDN, jak i NetBIOS, będzie wyglądać podobnie do następującego, jeśli używasz nazwy komputera dla hosta nazwy SPN.

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

Nazwy SPN dla usługi Analysis Services

Nazwy SPN dla usług Analysis Services są podobne do tego, co zrobiliśmy z Serwer raportów usługi Power BI. Format nazwy SPN jest nieco inny, jeśli masz nazwane wystąpienie.

W przypadku usług Analysis Services używamy usługi MSOLAPSvc.3. Określimy nazwę wystąpienia dla lokalizacji portu w nazwie SPN. Część nazwy SPN hosta będzie nazwą maszyny lub nazwą wirtualną klastra.

Przykład nazwy SPN usług Analysis Services wygląda następująco.

Typ Format
Wystąpienie domyślne MSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoAS
Nazwane wystąpienie MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:INSTANCENAME

Umieszczenie nazwy SPN jest również podobne do tego, o czym wspomniano w Serwer raportów usługi Power BI. Jest on oparty na koncie usługi. Jeśli używasz systemu lokalnego lub usługi sieciowej, będziesz w kontekście konta komputera. Jeśli używasz konta użytkownika domeny dla wystąpienia usług Analysis Services, należy umieścić nazwę SPN na koncie użytkownika domeny.

Dodawanie nazwy SPN przy użyciu programu SetSPN

Aby dodać nazwę SPN, możemy użyć narzędzia SetSPN. W tym przykładzie nazwa maszyny to ContosoAS.

Umieszczenie nazwy SPN na koncie komputera, zarówno dla nazwy SPN FQDN, jak i NetBIOS, będzie wyglądać podobnie do poniższego.

Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPSvc.3/ContosoAS ContosoAS

Umieszczenie nazwy SPN na koncie użytkownika domeny, zarówno dla nazwy SPN FQDN, jak i NetBIOS, będzie wyglądać podobnie do poniższego.

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

Nazwy SPN dla usługi SQL Browser

Jeśli masz wystąpienie usługi Analysis Services o nazwie, musisz również upewnić się, że masz nazwę SPN dla usługi przeglądarki. Jest to unikatowe dla usług Analysis Services.

Nazwy SPN dla przeglądarki SQL są podobne do tego, co zrobiliśmy z Serwer raportów usługi Power BI.

W przypadku przeglądarki SQL używamy usługi MSOLAPDisco.3. Określimy nazwę wystąpienia dla lokalizacji portu w nazwie SPN. Część nazwy SPN hosta będzie nazwą maszyny lub nazwą wirtualną klastra. Nie trzeba określać niczego dla nazwy ani portu wystąpienia.

Przykład nazwy SPN usług Analysis Services wygląda następująco.

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

Umieszczenie nazwy SPN jest również podobne do tego, o czym wspomniano w Serwer raportów usługi Power BI. Różnica polega na tym, że przeglądarka SQL zawsze działa w ramach konta systemowego lokalnego. Oznacza to, że nazwy SPN będą zawsze znajdować się na koncie komputera.

Dodawanie nazwy SPN przy użyciu programu SetSPN

Aby dodać nazwę SPN, możemy użyć narzędzia SetSPN. W tym przykładzie nazwa maszyny to ContosoAS.

Umieszczenie nazwy SPN na koncie komputera, zarówno dla nazwy SPN FQDN, jak i NetBIOS, będzie wyglądać podobnie do poniższego.

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

Aby uzyskać więcej informacji, zobacz Wymagana jest nazwa SPN dla usługi SQL Server Browser.

Ustawienia delegowania na koncie usługi serwera raportów

Ostatnią częścią, którą musimy skonfigurować, są ustawienia delegowania na koncie usługi serwera raportów. Istnieją różne narzędzia, których można użyć do wykonania tych kroków. Na potrzeby tego dokumentu będziemy trzymać się Użytkownicy i komputery usługi Active Directory.

Musisz zacząć od wybrania właściwości konta usługi serwera raportów w Użytkownicy i komputery usługi Active Directory. Będzie to konto komputera, jeśli użyto konta usługi wirtualnej lub usługi sieciowej, albo będzie to konto użytkownika domeny.

Chcemy skonfigurować ograniczone delegowanie z tranzytem protokołu. W przypadku ograniczonego delegowania należy jawnie określać, do których usług chcemy delegować. Przejdziemy i dodamy zarówno nazwę SPN usługi Analysis Services, jak i nazwę SPN przeglądarki SQL do listy, do których można delegować Serwer raportów usługi Power BI.

  1. Kliknij prawym przyciskiem myszy konto usługi serwera raportów i wybierz pozycję Właściwości.

  2. Wybierz kartę Delegowanie .

  3. Wybierz pozycję Ufaj temu komputerowi dla delegowania tylko do określonych usług.

  4. Wybierz pozycję Użyj dowolnego protokołu uwierzytelniania.

  5. W obszarze Usługi, do których to konto może prezentować delegowane poświadczenia: wybierz pozycję Dodaj.

  6. W nowym oknie dialogowym wybierz pozycję Użytkownicy lub komputery.

  7. Wprowadź konto usługi dla usługi Analysis Services i wybierz przycisk OK.

  8. Wybierz utworzoną nazwę SPN. Rozpocznie się od MSOLAPSvc.3. Jeśli dodano zarówno nazwę FQDN, jak i nazwę SPN NetBIOS, zostanie ona wybrana zarówno. Może być widoczny tylko jeden.

  9. Wybierz przycisk OK. Nazwa SPN powinna być teraz widoczna na liście.

  10. Opcjonalnie możesz wybrać pozycję Rozwinięte , aby wyświetlić zarówno nazwę SPN FQDN, jak i nazwę SPN NetBIOS na liście.

  11. Wybierz ponownie pozycję Dodaj . Dodamy teraz nazwę SPN przeglądarki SQL.

  12. W nowym oknie dialogowym wybierz pozycję Użytkownicy lub komputery.

  13. Wprowadź nazwę maszyny dla maszyny, na których znajduje się usługa SQL Browser, a następnie wybierz przycisk OK.

  14. Wybierz utworzoną nazwę SPN. Rozpocznie się od MSOLAPDisco.3. Jeśli dodano zarówno nazwę FQDN, jak i nazwę SPN NetBIOS, zostanie ona wybrana zarówno. Może być widoczny tylko jeden.

  15. Wybierz OK Jeśli zaznaczono pole Rozwinięte, okno dialogowe powinno wyglądać podobnie do poniższego.

    Screenshot of Power B I Reports showing Delegation tab of Properties window.

  16. Wybierz OK

  17. Uruchom ponownie Serwer raportów usługi Power BI.

Uruchamianie raportu usługi Power BI

Po wprowadzeniu wszystkich powyższych konfiguracji raport powinien być poprawnie wyświetlany.

Screenshot of Power B I Reports showing sample Dashboard view.

Chociaż ta konfiguracja powinna działać w większości przypadków, w przypadku protokołu Kerberos może istnieć inna konfiguracja w zależności od środowiska. Jeśli raport nadal nie zostanie załadowany, skontaktuj się z administratorem domeny, aby dokładniej zbadać problem lub skontaktować się z pomocą techniczną.

Masz więcej pytań? Spróbuj zadać Społeczność usługi Power BI