Verwenden von OAuth zum Herstellen einer Verbindung mit dem Power BI-Berichtsserver und SSRS

Mit OAuth können Sie eine Verbindung zum Power BI-Berichtsserver und Reporting Services herstellen, um mobile Berichte oder KPIs anzuzeigen. In diesem Artikel erfahren Sie, wie Sie Ihre Umgebung für die Unterstützung der OAuth-Authentifizierung mit der mobilen Power BI-App konfigurieren, um eine Verbindung mit dem Power BI-Berichtsserver und SQL Server Reporting Services 2016 oder höher herzustellen.

Hinweis

Das Anzeigen von Power BI-Berichten, die im Power BI-Berichtsserver mit WAP zur Authentifizierung gehostet werden, wird jetzt von iOS- und Android-Apps unterstützt.

Anforderungen

Für den WAP-Server (Web Application Proxy, Webanwendungsproxy) und ADFS-Server (Active Directory Federation Services, Active Directory-Verbunddienste) ist Windows Server 2016 erforderlich. Sie benötigen keine Windows 2016-Domänenfunktionsebene.

Damit Benutzer*innen ihrer mobilen Power BI-App eine Berichtsserververbindung hinzufügen können, müssen Sie ihnen Zugriff auf den Basisordner des Berichtsservers gewähren.

DNS-Konfiguration (Domain Name Service)

Mit der öffentlichen URL stellt die Power BI Mobile-App eine Verbindung her. Dies könnte z.B. wie folgt lauten.

https://reports.contoso.com

Ihr DNS-Eintrag für Berichte an die öffentliche IP-Adresse des WAP-Servers (Web Application Proxy, Webanwendungsproxy). Außerdem müssen Sie einen öffentlichen DNS-Datensatz für den AD FS-Server konfigurieren. Angenommen, Sie haben den AD FS-Server mit der folgenden URL konfiguriert.

https://fs.contoso.com

Ihr DNS-Eintrag für fs an die öffentliche IP-Adresse des WAP-Servers (Web Application Proxy, Webanwendungsproxy), wie er als Teil der WAP-Anwendung veröffentlicht wird.

Zertifikate

Sie müssen Zertifikate für die WAP-Anwendung und den AD FS-Server konfigurieren. Beide Zertifikate müssen Teil einer gültigen Zertifizierungsstelle sein, die Ihre mobilen Geräte erkennen.

Reporting Services-Konfiguration

Für Reporting Services muss nicht viel konfiguriert werden. Sie müssen lediglich sicherstellen, dass:

Dienstprinzipalname (Service Principal Name, SPN)

Bei dem SPN handelt es sich um einen eindeutigen Bezeichner für einen Dienst, der Kerberos-Authentifizierung verwendet. Sie müssen sicherstellen, dass ein gültiger HTTP-SPN für den Berichtsserver vorhanden ist.

Informationen zum Konfigurieren des richtigen Dienstprinzipalnamens (Service Principal Name, SPN) für den Berichtsserver finden Sie unter Registrieren eines Dienstprinzipalnamens (SPN) für einen Berichtsserver.

Aktivieren der Aushandlungsauthentifizierung

Damit ein Berichtsserver die Kerberos-Authentifizierung verwenden kann, müssen Sie den Authentifizierungstyp des Berichtsservers als „RSWindowsNegotiate“ konfigurieren. Sie tun dies in der Datei „rsreportserver.config“.

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

Weitere Informationen finden Sie unter Ändern einer Reporting Services-Konfigurationsdatei (RSreportserver.config) und Konfigurieren der Windows-Authentifizierung auf dem Berichtsserver.

AD FS-Konfiguration (Active Directory Federation Services, Active Directory-Verbunddienste)

Sie müssen AD FS auf einem Windows 2016-Server in Ihrer Umgebung konfigurieren. Die Konfiguration kann im Server-Manager unter „Verwalten“ mit Auswahl von „Rollen und Features hinzufügen“ erfolgen. Weitere Informationen finden Sie unter Active Directory-Verbunddienste.

Erstellen einer Anwendungsgruppe

Auf dem Bildschirm „AD FS Management“ (AD FS-Verwaltung) erstellen Sie eine Anwendungsgruppe für Reporting Services, die Informationen für die Power BI Mobile-Apps enthält.

Hierzu führen Sie die folgenden Schritten aus.

  1. Klicken Sie in der App „AD FS-Verwaltung“ mit der rechten Maustaste auf Anwendungsgruppen, und wählen Sie Anwendungsgruppe hinzufügen aus.

    ADFS Add Application

  2. Geben Sie im Assistenten zum Hinzufügen von Anwendungsgruppen einen Namen für die Anwendungsgruppe ein, und wählen Sie Systemeigene Anwendung mit Zugriff auf eine Web-API aus.

    ADFS Application Group Wizard 01

  3. Wählen Sie Weiter aus.

  4. Geben Sie einen Namen für die hinzuzufügende Anwendung ein.

  5. Die Client-ID wird zwar automatisch generiert, geben Sie aber 484d54fc-b481-4eee-9505-0258a1913020 für iOS und Android ein.

  6. Geben Sie Folgendes unter Umleitungs-URLs ein:

    Einträge für Power BI Mobile – 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

    Für Android-Apps sind nur folgende Schritte erforderlich:
    urn:ietf:wg:oauth:2.0:oob

    ADFS Application Group Wizard 02

  7. Wählen Sie Weiter aus.

  8. Geben Sie die URL für den Berichtsserver ein. Bei dieser URL handelt es sich um die externe URL, die auf den Webanwendungsproxy verweist. Das Format sollte wie folgt lauten.

    Hinweis

    Bei der URL wird die Groß- und Kleinschreibung beachtet.

    https://<report server url>/reports

    ADFS Application Group Wizard 03

  9. Wählen Sie Weiter aus.

  10. Wählen Sie die Zugriffssteuerungsrichtlinie aus, die für Ihre Organisation am besten geeignet ist.

    ADFS Application Group Wizard 04

  11. Wählen Sie Weiter aus.

  12. Wählen Sie Weiter aus.

  13. Wählen Sie Weiter aus.

  14. Wählen Sie Schließen aus.

Abschließend sollten die Eigenschaften der Anwendungsgruppe ähnlich wie im folgenden Beispiel aussehen.

ADFS Application Group Wizard

WAP-Konfiguration (Web Application Proxy, Webanwendungsproxy)

Aktivieren Sie die Windows-Rolle „Webanwendungsproxy“ auf einem Server in Ihrer Umgebung. Dabei muss es sich um einen Windows 2016-Server handeln. Weitere Informationen finden Sie unter Web-Anwendungsproxy in Windows Server 2016 und Veröffentlichen von Anwendungen mit AD FS-Vorauthentifizierung.

Konfiguration der eingeschränkten Delegierung

Um von der OAuth-Authentifizierung zur Windows-Authentifizierung zu wechseln, muss die eingeschränkte Delegierung mit Protokollübergang verwendet werden. Dies ist Teil der Kerberos-Konfiguration. Der Reporting Services-SPN wurde bereits bei der Reporting Services-Konfiguration definiert.

Nun muss die eingeschränkte Delegierung im Computerkonto des WAP-Servers in Active Directory konfiguriert werden. Möglicherweise müssen Sie einen Domänenadministrator hinzuziehen, wenn Sie keine Berechtigungen für Active Directory besitzen.

Führen Sie zum Konfigurieren der eingeschränkten Delegierung die folgenden Schritte aus.

  1. Starten Sie auf einem Computer mit Active Directory-Tools Active Directory-Benutzer und -Computer.

  2. Suchen Sie das Computerkonto für den WAP-Server. Standardmäßig befindet sich dies im Computercontainer.

  3. Klicken Sie mit der rechten Maustaste auf den WAP-Server, und wechseln Sie zu Eigenschaften.

  4. Wählen Sie die Registerkarte Delegierung aus.

  5. Wählen Sie Computer nur bei Delegierungen angegebener Dienste vertrauen und dann Beliebiges Authentifizierungsprotokoll verwenden aus.

    WAP Constrained

    Hiermit wird die eingeschränkte Delegierung für das Computerkonto des WAP-Servers eingerichtet. Nun müssen die Dienste angegeben werden, an die dieser Computer delegieren kann.

  6. Wählen Sie unter dem Feld „Dienste“ die Option Hinzufügen aus.

    WAP Constrained 02

  7. Wählen Sie Benutzer oder Computer aus.

  8. Geben Sie das Dienstkonto ein, das Sie für Reporting Services verwenden. Dies ist das Konto, dem Sie bei der Reporting Services-Konfiguration den SPN hinzugefügt haben.

  9. Wählen Sie den SPN für Reporting Services und dann OK aus.

    Hinweis

    Möglicherweise wird nur der NetBIOS-SPN angezeigt. Hiermit werden aber sowohl der NetBIOS- als auch der FQDN-SPN ausgewählt, wenn beide vorhanden sind.

    WAP Constrained 03

  10. Das Ergebnis sollte etwa wie folgt aussehen, wenn das Kontrollkästchen Erweitert aktiviert ist.

    WAP Constrained 04

  11. Klicken Sie auf OK.

Hinzufügen einer WAP-Anwendung

Sie können Anwendungen innerhalb der Report Access Management Console veröffentlichen, hier wird die Anwendung allerdings über PowerShell erstellt. Der Befehl zum Hinzufügen der Anwendung lautet wie folgt:

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
Parameter Kommentare
ADFSRelyingPartyName Der Name der Web-API, die Sie als Teil der Anwendungsgruppe in AD FS erstellt haben.
ExternalCertificateThumbprint Das Zertifikat, das für externe Benutzer verwendet werden soll. Es ist wichtig, dass das Zertifikat auf mobilen Geräten gültig ist und von einer vertrauenswürdigen Zertifizierungsstelle stammt.
BackendServerUrl Die URL zum Berichtsserver vom WAP-Server aus. Wenn sich der WAP-Server in einem Umkreisnetzwerk befindet, müssen Sie möglicherweise einen vollqualifizierten Domänennamen verwenden. Stellen Sie sicher, dass Sie diese URL im Webbrowser auf dem WAP-Server aufrufen können.
BackendServerAuthenticationSPN Der SPN, den Sie bei der Reporting Services-Konfiguration erstellt haben.

Festlegen der integrierten Authentifizierung für die WAP-Anwendung

Nachdem Sie die WAP-Anwendung hinzugefügt haben, müssen Sie „BackendServerAuthenticationMode“ auf die Verwendung von „IntegratedWindowsAuthentication“ festlegen. Sie benötigen die ID aus der WAP-Anwendung, um dies festzulegen.

Get-WebApplicationProxyApplication "Contoso Reports" | fl

Add Application Group

Führen Sie den folgenden Befehl aus, um „BackendServerAuthenticationMode“ mit der ID der WAP-Anwendung festzulegen.

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

Add Application Group wizard

Herstellen einer Verbindung mit der mobilen Power BI-App

Innerhalb der mobilen Power BI-App erstellen Sie eine Verbindung mit der Reporting Services-Instanz. Geben Sie hierzu die Externe URL für die WAP-Anwendung an.

Type the server address

Wenn Sie Verbinden auswählen, werden Sie auf die AD FS-Anmeldeseite weitergeleitet. Geben Sie gültige Anmeldeinformationen für Ihre Domäne ein.

Sign-in to ADFS

Nachdem Sie Anmelden ausgewählt haben, werden die Elemente vom Reporting Services-Server angezeigt.

Multi-Factor Authentication

Sie können die Multi-Factor Authentication aktivieren, um die Sicherheit für Ihre Umgebung zu erhöhen. Weitere Informationen finden Sie unter Konfigurieren der Azure MFA als Authentifizierungsanbieter mit AD FS.

Problembehandlung

Folgender Fehler wird angezeigt: „Fehler beim Anmelden beim SSRS-Server“.

Sie können Fiddler als Proxy für Ihre mobilen Geräte einrichten, um zu überprüfen, wie weit die Anforderung gesendet wurde. Wenn Sie einen Fiddler-Proxy für ein Smartphone aktivieren möchten, müssen Sie CertMaker für iOS und Android auf dem Computer mit Fiddler einrichten. Das Add-On wird von Telerik für Fiddler bereitgestellt.

Wenn die Anmeldung bei Verwendung von Fiddler erfolgreich ist, liegt möglicherweise ein Zertifikatsproblem mit der WAP-Anwendung oder dem AD FS-Server vor.