Nawiązywanie połączenia z usługami Serwer raportów usługi Power BI i SSRS przy użyciu protokołu OAuth

Uwierzytelnianie OAuth umożliwia nawiązywanie połączenia z usługami Serwer raportów usługi Power BI i Reporting Services w celu wyświetlania raportów dla urządzeń przenośnych lub kluczowych wskaźników wydajności. Dowiedz się, jak skonfigurować środowisko pod kątem obsługi uwierzytelniania OAuth za pomocą aplikacji mobilnej Power BI w celu nawiązania połączenia z usługami Serwer raportów usługi Power BI i SQL Server Reporting Services 2016 lub nowszymi.

Uwaga

Wyświetlanie raportów usługi Power BI hostowanych w Serwer raportów usługi Power BI przy użyciu protokołu WAP do uwierzytelniania jest teraz obsługiwane w aplikacjach dla systemów iOS i Android.

Wymagania

System Windows Server 2016 jest wymagany dla serwerów usług Active Directory Federation Services (ADFS) i Web serwer proxy aplikacji (WAP). Nie musisz mieć domeny poziomu funkcjonalności systemu Windows 2016.

Aby użytkownicy mogli dodać połączenie serwera raportów z aplikacją mobilną Power BI, należy udzielić im dostępu do folderu macierzystego serwera raportów.

Konfiguracja usługi Domain Name Services (DNS)

Publiczny adres URL będzie mieć połączenie z aplikacją mobilną Power BI. Na przykład może wyglądać podobnie do poniższego.

https://reports.contoso.com

Rekord DNS dla raportów na publiczny adres IP serwera web serwer proxy aplikacji (WAP). Należy również skonfigurować publiczny rekord DNS dla serwera usług AD FS. Na przykład być może skonfigurowano serwer usług AD FS przy użyciu następującego adresu URL.

https://fs.contoso.com

Rekord DNS dla usług fs na publiczny adres IP serwera web serwer proxy aplikacji (WAP), ponieważ zostanie on opublikowany jako część aplikacji WAP.

Certyfikaty

Należy skonfigurować certyfikaty zarówno dla aplikacji WAP, jak i serwera usług ADFS. Oba te certyfikaty muszą być częścią prawidłowego urzędu certyfikacji rozpoznawanego przez urządzenia przenośne.

Konfiguracja usług Reporting Services

Po stronie usług Reporting Services nie ma zbyt wiele do skonfigurowania. Wystarczy upewnić się, że:

Nazwa główna usługi (SPN)

Nazwa SPN jest unikatowym identyfikatorem usługi korzystającej z uwierzytelniania Kerberos. Upewnij się, że masz odpowiednią nazwę SPN HTTP dla serwera raportów.

Aby uzyskać informacje na temat konfigurowania odpowiedniej głównej nazwy usługi (SPN) dla serwera raportów, zobacz Rejestrowanie głównej nazwy usługi (SPN) dla serwera raportów.

Włączanie uwierzytelniania negocjowanego

Aby umożliwić serwerowi raportów używanie uwierzytelniania Kerberos, należy skonfigurować typ uwierzytelniania serwera raportów jako RSWindowsNegotiate. Można to zrobić w pliku rsreportserver.config.

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

Aby uzyskać więcej informacji, zobacz Modyfikowanie pliku konfiguracji usług Reporting Services i Konfigurowanie uwierzytelniania systemu Windows na serwerze raportów.

Konfiguracja usług Active Directory Federation Services (ADFS)

Należy skonfigurować usługi ADFS na serwerze z systemem Windows 2016 w środowisku. Konfigurację można wykonać za pomocą Menedżer serwera i wybrać pozycję Dodaj role i funkcje w obszarze Zarządzanie. Aby uzyskać więcej informacji, zobacz Active Directory Federation Services.

Tworzenie grupy aplikacji

Na ekranie zarządzanie usługami AD FS chcesz utworzyć grupę aplikacji dla usług Reporting Services, która będzie zawierać informacje dotyczące aplikacji Power BI dla urządzeń przenośnych.

Grupę aplikacji można utworzyć, wykonując następujące kroki.

  1. W aplikacji zarządzania usługami AD FS kliknij prawym przyciskiem myszy grupy aplikacji i wybierz polecenie Dodaj grupę aplikacji...

    ADFS Add Application

  2. W Kreatorze dodawania grupy aplikacji podaj nazwę grupy aplikacji i wybierz pozycję Aplikacja natywna, która uzyskuje dostęp do internetowego interfejsu API.

    ADFS Application Group Wizard 01

  3. Wybierz Dalej.

  4. Podaj nazwę dodawanej aplikacji.

  5. Identyfikator klienta zostanie wygenerowany automatycznie dla użytkownika, a następnie wprowadź wartość 484d54fc-b481-4eee-9505-0258a1913020 dla systemów iOS i Android.

  6. Chcesz dodać następujące adresy URL przekierowania:

    Wpisy dla Power BI dla urządzeń przenośnych — iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilems

    Aplikacje systemu Android wymagają tylko następujących kroków:
    urn:ietf:wg:oauth:2.0:oob

    ADFS Application Group Wizard 02

  7. Wybierz Dalej.

  8. Podaj adres URL serwera raportów. Adres URL to zewnętrzny adres URL, który trafi do serwer proxy aplikacji sieci Web. Powinien mieć następujący format.

    Uwaga

    W tym adresie URL jest rozróżniana wielkość liter.

    https://<report server url>/reports

    ADFS Application Group Wizard 03

  9. Wybierz Dalej.

  10. Wybierz zasady kontroli dostępu, które odpowiadają potrzebom organizacji.

    ADFS Application Group Wizard 04

  11. Wybierz Dalej.

  12. Wybierz Dalej.

  13. Wybierz Dalej.

  14. Wybierz Zamknij.

Po zakończeniu właściwości grupy aplikacji powinny wyglądać podobnie do poniższych.

ADFS Application Group Wizard

Konfiguracja serwer proxy aplikacji sieci Web (WAP)

Chcesz włączyć rolę systemu Windows serwer proxy aplikacji sieci Web na serwerze w danym środowisku. Musi on znajdować się na serwerze z systemem Windows 2016. Aby uzyskać więcej informacji, zobacz Web serwer proxy aplikacji in Windows Server 2016 and Publishing Applications using AD FS Preauthentication (Aplikacje do publikowania w systemie Windows Server 2016) przy użyciu wstępnego uwierzytelniania usług AD FS.

Konfiguracja ograniczonego delegowania

Aby przejść z uwierzytelniania OAuth do uwierzytelniania systemu Windows, musimy użyć ograniczonego delegowania z przejściem protokołu. Jest to część konfiguracji protokołu Kerberos. Zdefiniowano już nazwę SPN usług Reporting Services w ramach konfiguracji usług Reporting Services.

Musimy skonfigurować ograniczone delegowanie na koncie maszyny serwera WAP w usłudze Active Directory. Jeśli nie masz uprawnień do usługi Active Directory, może być konieczna praca z administratorem domeny.

Aby skonfigurować ograniczone delegowanie, należy wykonać następujące kroki.

  1. Na komputerze z zainstalowanymi narzędziami usługi Active Directory uruchom Użytkownicy i komputery usługi Active Directory.

  2. Znajdź konto maszyny dla serwera WAP. Domyślnie będzie on znajdować się w kontenerze komputerów.

  3. Kliknij prawym przyciskiem myszy serwer WAP i przejdź do pozycji Właściwości.

  4. Wybierz kartę Delegowanie .

  5. Wybierz pozycję Ufaj temu komputerowi w delegowaniu tylko do określonych usług, a następnie użyj dowolnego protokołu uwierzytelniania.

    WAP Constrained

    Spowoduje to skonfigurowanie ograniczonego delegowania dla tego konta komputera serwera WAP. Następnie musimy określić usługi, do których może delegować ten komputer.

  6. Wybierz pozycję Dodaj... w polu usługi.

    WAP Constrained 02

  7. Wybierz pozycję Użytkownicy lub komputery...

  8. Wprowadź konto usługi używane dla usług Reporting Services. To konto to konto, do którego dodano nazwę SPN w ramach konfiguracji usług Reporting Services.

  9. Wybierz nazwę SPN dla usług Reporting Services, a następnie wybierz przycisk OK.

    Uwaga

    Nazwa SPN NetBIOS może być widoczna tylko. W rzeczywistości wybierze zarówno nazwy SPN NetBIOS, jak i FQDN, jeśli istnieją.

    WAP Constrained 03

  10. Wynik powinien wyglądać podobnie do poniższego po zaznaczeniu pola wyboru Rozwinięte .

    WAP Constrained 04

  11. Wybierz przycisk OK.

Dodawanie aplikacji WAP

Aplikacje można publikować w konsoli zarządzania dostępem do raportów, ale chcemy utworzyć aplikację za pomocą programu PowerShell. Oto polecenie, aby dodać aplikację.

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl https://ContosoSSRS/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
Parametr Komentarze
ADFSRelyingPartyName Nazwa internetowego interfejsu API utworzona jako część grupy aplikacji w usłudze ADFS.
ExternalCertificateThumbprint Certyfikat do użycia dla użytkowników zewnętrznych. Ważne jest, aby certyfikat był ważny na urządzeniach przenośnych i pochodzi z zaufanego urzędu certyfikacji.
BackendServerUrl Adres URL serwera raportów z serwera WAP. Jeśli serwer WAP znajduje się w strefie DMZ, może być konieczne użycie w pełni kwalifikowanej nazwy domeny. Upewnij się, że możesz trafić ten adres URL z przeglądarki internetowej na serwerze WAP.
BackendServerAuthenticationSPN Nazwa SPN utworzona w ramach konfiguracji usług Reporting Services.

Ustawianie zintegrowanego uwierzytelniania dla aplikacji WAP

Po dodaniu aplikacji WAP należy ustawić tryb BackendServerAuthenticationMode, aby używać elementu IntegratedWindowsAuthentication. Aby go ustawić, potrzebujesz identyfikatora z aplikacji WAP.

Get-WebApplicationProxyApplication "Contoso Reports" | fl

Add Application Group

Uruchom następujące polecenie, aby ustawić element BackendServerAuthenticationMode przy użyciu identyfikatora aplikacji WAP.

Set-WebApplicationProxyApplication -id 30198C7F-DDE4-0D82-E654-D369A47B1EE5 -BackendServerAuthenticationMode IntegratedWindowsAuthentication

Add Application Group wizard

Połączenie za pomocą aplikacji Power BI dla urządzeń przenośnych

W aplikacji mobilnej Power BI chcesz nawiązać połączenie z wystąpieniem usług Reporting Services. W tym celu podaj zewnętrzny adres URL aplikacji WAP.

Type the server address

Po wybraniu Połączenie nastąpi przekierowanie do strony logowania usług AD FS. Wprowadź prawidłowe poświadczenia dla domeny.

Sign-in to ADFS

Po wybraniu pozycji Zaloguj się zobaczysz elementy z serwera usług Reporting Services.

Uwierzytelnianie wieloskładnikowe

Możesz włączyć uwierzytelnianie wieloskładnikowe, aby umożliwić dodatkowe zabezpieczenia środowiska. Aby dowiedzieć się więcej, zobacz Konfigurowanie usługi Azure MFA jako dostawcy uwierzytelniania za pomocą usług AD FS.

Rozwiązywanie problemów

Zostanie wyświetlony błąd "Nie można zalogować się do serwera usług SSRS"

Możesz skonfigurować program Fiddler do działania jako serwer proxy dla urządzeń przenośnych, aby zobaczyć, jak daleko zostało wykonane żądanie. Aby włączyć serwer proxy programu Fiddler dla urządzenia z telefonem, należy skonfigurować program CertMaker dla systemów iOS i Android na maszynie z programem Fiddler. Dodatek pochodzi z telerik dla Fiddler.

Jeśli logowanie działa pomyślnie podczas korzystania z programu Fiddler, może wystąpić problem z certyfikatem aplikacji WAP lub serwera usług ADFS.