Utilisation d’OAuth pour la connexion à Reporting ServicesUsing OAuth to connect to Reporting Services

Découvrez comment configurer votre environnement pour prendre en charge l’authentification OAuth avec l’application mobile Power BI afin de vous connecter à Reporting Services 2016 ou version ultérieure.Learn how to configure your environment to support OAuth authentication with the Power BI mobile app in order to connect to Reporting Services 2016 or later.

Auparavant, l’application mobile Power BI prenait uniquement en charge l’authentification de base, sur HTTPS, à Reporting Services pour afficher des rapports mobiles ou des indicateurs de performance clés.In the past, the Power BI mobile app only supported basic authentication, over HTTPS, to Reporting Services in order to display Mobile Reports or KPIs. De nombreuses organisations n’autorisent pas ce type de configuration, car cela peut engendrer des problèmes de sécurité.Many organizations do not allow this type of configuration due to security concerns. Avec la mise à jour apportée à l’application mobile Power BI, vous pouvez maintenant utiliser OAuth pour vous connecter à Reporting Services.With an update to the Power BI mobile app, you can now use OAuth to connect to Reporting Services. Windows Server 2016 fournit quelques améliorations au rôle Proxy d’application web qui autorisent ce type d’authentification.Windows Server 2016 provides some improvements to the Web Application Proxy role to allow this type of authentication.

Configuration requiseRequirements

Windows Server 2016 est requis pour les serveurs Proxy d’application web (WAP) et Active Directory Federation Services (ADFS).Windows Server 2016 is required for the Web Application Proxy (WAP) and Active Directory Federation Services (ADFS) servers. Il est inutile d’avoir un domaine de niveau fonctionnel Windows 2016.You do not need to have a Windows 2016 functional level domain.

Configuration DNS (Domain Name Services)Domain Name Services (DNS) configuration

Vous devez déterminer l’URL publique à laquelle l’application mobile Power BI se connecte.You will need to determine what the public URL will be that the Power BI mobile app will connect to. L’URL peut par exemple ressembler à ce qui suit.For example, it may look similar to the following.

https://reports.contoso.com

Vous devez pointer votre enregistrement DNS correspondant aux rapports sur l’adresse IP publique du serveur Proxy d’application web (WAP).You will need to point your DNS record for reports to the public IP address of the Web Application Proxy (WAP) server. Vous devez également configurer un enregistrement DNS public pour votre serveur AD FS.You will also need to configure a public DNS record for your ADFS server. Par exemple, vous pouvez configurer le serveur ADFS avec l’URL suivante.For example, you may have configured the ADFS server with the following URL.

https://fs.contoso.com

Vous devez pointer votre enregistrement DNS correspondant à fs sur l’adresse IP publique du serveur Proxy d’application web (WAP), car il sera publié en tant que composant de l’application WAP.You will need to point your DNS record for fs to the public IP address of the Web Application Proxy (WAP) server as it will be published as part of the WAP application.

CertificatsCertificates

Vous devez configurer des certificats pour l’application WAP et le serveur ADFS.You will need to configure certificates for both the WAP application and the ADFS server. Ces certificats doivent faire partie d’une autorité de certificat valide reconnue par vos appareils mobiles.Both of these certificates must be part of a valid certificate authority that your mobile devices recognize.

Configuration de Reporting ServicesReporting Services configuration

Il n’y a pas grand chose à configurer du côté de Reporting Services.There isn’t much to configure on the Reporting Services side. Nous devons simplement vérifier que nous avons un nom de principal du service valide pour autoriser l’authentification Kerberos et que le serveur Reporting Services est activé pour l’authentification négociée.We just need to make sure that we have a valid Service Principal Name (SPN) to enable the proper Kerberos authentication to occur and that the Reporting Services server is enabled for negotiate authentication.

Nom de principal du serviceService Principal Name (SPN)

Le nom de principal du service est un identificateur unique pour un service qui utilise l’authentification Kerberos.The SPN is a unique identifier for a service that uses Kerberos authentication. Vous devez avoir un nom de principal du service HTTP approprié pour votre serveur de rapports.You will need to make sure you have a proper HTTP SPN present for your report server.

Pour plus d’informations sur la configuration du nom de principal du service adéquat pour votre serveur de rapports, consultez Inscrire un nom de principal du service (SPN) pour un serveur de rapports.For information on how to configure the proper Service Principal Name (SPN) for your report server, see Register a Service Principal Name (SPN) for a Report Server.

Activation de l’authentification négociéeEnabling negotiate authentication

Pour autoriser un serveur de rapports à utiliser l’authentification Kerberos, vous devez définir le type d’authentification associé sur RSWindowsNegotiate.To enable a report server to use Kerberos authentication, you will need to configure the Authentication Type of the report server to be RSWindowsNegotiate. Cette opération est effectuée dans le fichier rsreportserver.config.This is done within the rsreportserver.config file.

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

Pour plus d’informations, consultez Modifier un fichier de configuration Reporting Services et Configurer l’authentification Windows sur un serveur de rapports.For more information, see Modify a Reporting Services Configuration File and Configure Windows Authentication on a Report Server.

Configuration d’Active Directory Federation Services (ADFS)Active Directory Federation Services (ADFS) Configuration

Vous devez configurer AD FS sur un serveur Windows 2016 au sein de votre environnement.You will need to configure ADFS on a Windows 2016 server within your environment. Pour cela, dans le Gestionnaire de serveur, sélectionnez Ajouter des rôles et fonctionnalités sous Gérer.This can be done through the Server Manager and selecting Add Roles and Features under Manage. Pour plus d’informations, consultez Active Directory Federation Services.For more information, see Active Directory Federation Services.

Créer un groupe d’applicationsCreate an application group

Dans l’écran de gestion AD FS, vous souhaitez créer un groupe d’applications pour Reporting Services qui inclut des informations pour les applications mobiles Power BI.Within the AD FS Management screen, you will want to create an application group for Reporting Services which will include information for the Power BI Mobile apps.

Pour créer le groupe d’applications, procédez comme suit.You can create the application group with the following steps.

  1. Depuis l’application de gestion AD FS, cliquez avec le bouton droit sur Groupes d’applications, puis sélectionnez Ajouter un groupe d’applications...Within the AD FS Management app, right click Application Groups and select Add Application Group…

  2. Dans l’Assistant Ajout de groupe d’applications, indiquez le nom du groupe d’applications et sélectionnez Application native accédant à une API web.Within the Add Application Group Wizard, provide a name for the application group and select Native application accessing a web API.

  3. Sélectionnez Suivant.Select Next.
  4. Indiquez le nom de l’application que vous ajoutez.Provide a name for the application you are adding.
  5. Alors que l’ID client est automatiquement généré pour vous, entrez 484d54fc-b481-4eee-9505-0258a1913020 pour iOS et Android.While the Client ID will be auto generated for your, enter in 484d54fc-b481-4eee-9505-0258a1913020 for both iOS and Android.
  6. Vous pouvez ajouter les URL de redirection suivantes :You will want to add the following Redirect URLs:

    Entrées pour Power BI Mobile - iOS :Entries for Power BI Mobile – iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobilemsauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilemsmsauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobilemspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilemsmspbi-adalms://com.microsoft.powerbimobilems

    Les applications Android ont seulement besoin de l’entrée suivante :Android Apps only need the following:
    urn:ietf:wg:oauth:2.0:ooburn:ietf:wg:oauth:2.0:oob

  7. Sélectionnez Suivant.Select Next.
  8. Indiquez l’URL de votre serveur de rapports.Supply the URL for your Report Server. Il s’agit de l’URL externe qui dirige vers votre proxy d’application web.This is the external URL that will hit your Web Application Proxy. Elle doit être au format suivant :It should be in the following format.

    Note

    Cette URL est sensible à la casse.This URL is case sensitive!

    https:///reportshttps:///reports

  9. Sélectionnez Suivant.Select Next.
  10. Choisissez la Stratégie de contrôle d’accès répondant aux besoins de votre organisation.Choose the Access Control Policy that fits your organization’s needs.

  11. Sélectionnez Suivant.Select Next.
  12. Sélectionnez Suivant.Select Next.
  13. Sélectionnez Suivant.Select Next.
  14. Sélectionnez Fermer.Select Close.

Lorsque vous avez terminé, les propriétés de votre groupe d’applications doivent avoir l’aspect suivant.When completed, you should see the properties of your application group look similar to the following.

Configuration du proxy d’application web (WAP)Web Application Proxy (WAP) Configuration

Vous devez activer le rôle Windows Proxy d’application web sur un serveur dans votre environnement.You will want to enable the Web Application Proxy (Role) Windows role on a server in your environment. Il doit s’agir d’un serveur Windows 2016.This must be on a Windows 2016 server. Pour plus d’informations, consultez Proxy d’application web dans Windows Server 2016 et Publication d’applications à l’aide de la pré-authentification AD FS.For more information, see Web Application Proxy in Windows Server 2016 and Publishing Applications using AD FS Preauthentication.

Configuration de la délégation contrainteConstrained delegation configuration

Pour passer de l’authentification OAuth à l’authentification Windows, nous devons utiliser la délégation contrainte avec la transition de protocole.In order to transition from OAuth authentication to Windows authentication, we need to use constrained delegation with protocol transitioning. Cela fait partie de la configuration de Kerberos.This is part of the Kerberos configuration. Nous avons déjà défini le nom de principal du service Reporting Services lors de la configuration de Reporting Services.We already defined the Reporting Services SPN within the Reporting Services configuration.

Nous devons configurer la délégation contrainte sur le compte du serveur WAP dans Active Directory.We need to configure constrained delegation on the WAP Server machine account within Active Directory. Vous devrez peut-être faire appel à un administrateur de domaine si vous n’avez pas de droits d’accès à Active Directory.You may need to work with a domain administrator if you don’t have rights to Active Directory.

Pour configurer la délégation contrainte, vous devez effectuer les opérations suivantes.To configure constrained delegation, you will want to do the following.

  1. Sur un ordinateur sur lequel les outils Active Directory sont installés, lancez Utilisateurs et ordinateurs Active Directory.On a machine that has the Active Directory tools installed, launch Active Directory Users and Computers.
  2. Recherchez le compte correspondant à votre serveur WAP.Find the machine account for your WAP server. Par défaut, il s’agit du conteneur Ordinateurs.By default, this will be in the computers container.
  3. Cliquez avec le bouton droit sur le serveur WAP et accédez à Propriétés.Right click the WAP server and go to Properties.
  4. Sélectionnez l’onglet Délégation.Select the Delegation tab.
  5. Sélectionnez N’approuver cet ordinateur que pour la délégation aux services spécifiés, puis Utiliser tout protocole d’authentification.Select Trust this computer for delegation to specified services only and then Use any authentication protocol.

    Cela permet de configurer la délégation contrainte pour le compte du serveur WAP.This sets up constrained delegation for this WAP Server machine account. Nous devons ensuite spécifier les services auxquels cet ordinateur est autorisé à déléguer.We then need to specify the services that this machine is allowed to delegate to.

  6. Sélectionnez Ajouter...Select Add… sous la zone Services.under the services box.

  7. Sélectionnez Utilisateurs ou ordinateurs...Select Users or Computers…
  8. Entrez le compte de service que vous utilisez pour Reporting Services.Enter the service account that you are using for Reporting Services. Il s’agit du compte auquel vous avez ajouté le nom de principal du service lors de la configuration de Reporting Services.This is the account you added the SPN to within the Reporting Services configuration.
  9. Sélectionnez le nom de principal du service pour Reporting Services, puis OK.Select the SPN for Reporting Services and then select OK.

    Note

    Vous voyez peut-être uniquement le nom de principal du service NetBIOS.You may only see the NetBIOS SPN. Les noms de principal du service NetBIOS et FQDN sont tous deux sélectionnés s’ils existent.It will actually select both the NetBIOS and FQDN SPNs if they both exist.

  10. Le résultat doit ressembler à ce qui suit lorsque la case à cocher Développé est activée.The result should look similar to the following when the Expanded checkbox is checked.

  11. Sélectionnez OK.Select OK.

Ajouter une application WAPAdd WAP Application

Bien que vous puissiez publier des applications au sein de la console de gestion d’accès aux rapports, nous allons créer l’application au moyen de PowerShell.While you can publish applications within the Report Access Management Console, we will want to create the application via PowerShell. Voici la commande permettant d’ajouter l’application.Here is the command to add the application.

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/reports/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl http://ContosoSSRS/reports/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
ParamètreParameter CommentairesComments
ADFSRelyingPartyNameADFSRelyingPartyName Il s’agit du nom de l’API web que vous avez créée dans le groupe d’applications au sein d’ADFS.This is the Web API name that you created as part of the Application Group within ADFS.
ExternalCertificateThumbprintExternalCertificateThumbprint Il s’agit du certificat à utiliser pour les utilisateurs externes.This is the certificate to use for the external users. Il est important que ce certificat soit valide sur les appareils mobiles et provienne d’une autorité de certification approuvée.It is important that this certificate be valid on mobile devices and come from a trusted certificate authority.
BackendServerUrlBackendServerUrl Il s’agit de l’URL permettant d’accéder au serveur de rapports à partir du serveur WAP.This is the URL to the Report Server from the WAP server. Si le serveur WAP est situé dans un réseau de périmètre, vous devrez peut-être utiliser un nom de domaine complet.If the WAP server is in a DMZ, you may need to use a fully qualified domain name. Vérifiez que vous pouvez atteindre cette URL à partir du navigateur web sur le serveur WAP.Make sure you can hit this URL from the web browser on the WAP server.
BackendServerAuthenticationSPNBackendServerAuthenticationSPN Il s’agit du nom de principal du service que vous avez créé lors de la configuration de Reporting Services.This is the SPN you created as part of the Reporting Services configuration.

Définition de l’authentification intégrée pour l’application de proxy d’application webSetting Integrated Authentication for the WAP Application

Une fois que vous avez ajouté l’application de proxy d’application web, vous devez définir BackendServerAuthenticationMode sur IntegratedWindowsAuthentication.After you add the WAP Application, you will need to set the BackendServerAuthenticationMode to use IntegratedWindowsAuthentication. Pour cela, vous avez besoin de l’ID de l’application de proxy d’application web.In order to set this, you need the ID from the WAP Application.

Get-WebApplicationProxyApplication “Contoso Reports” | fl

Exécutez la commande suivante pour définir le BackendServerAuthenticationMode sur l’ID de l’application de proxy d’application web.Run the following command to set the BackendServerAuthenticationMode using the ID of the WAP Application.

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

Connexion à l’application mobile Power BIConnecting with the Power BI Mobile App

Dans l’application mobile Power BI, vous pouvez vous connecter à l’instance Reporting Services.Within the Power BI mobile app, you will want to connect to your Reporting Services instance. Pour ce faire, fournissez l’URL externe de votre application de proxy d’application web.To do that, supply the External URL for your WAP Application.

Lorsque vous sélectionnez Se connecter, vous êtes dirigé vers votre page de connexion AD FS.When you select Connect, you will be directed to your ADFS login page. Entrez les informations d’identification valides pour votre domaine.Enter valid credentials for your domain.

Une fois que vous avez sélectionné Se connecter, vous voyez les éléments de votre serveur Reporting Services.After you select Sign in, you will see the elements from your Reporting Services server.

Multi-Factor AuthenticationMulti-factor authentication

Vous pouvez activer l’authentification multifacteur pour activer une sécurité supplémentaire pour votre environnement.You can enable multi-factor authentication to enable additional security for your environment. Pour plus d’informations, consultez Configurer AD FS 2016 et Azure MFA.To learn more, see Configure AD FS 2016 and Azure MFA.

Résolution des problèmesTroubleshooting

Vous recevez l’erreur Échec de la connexion au serveur SSRS. Vérifiez la configuration du serveur.You receive the error Failed to login to SSRS server. Please verify server configuration.

Vous pouvez configurer Fiddler de façon à ce qu’il agisse en tant que proxy pour vos appareils mobiles pour voir jusqu’où la demande est allée.You can set up Fiddler to act as a proxy for your mobile devices to see how far the request made it. Pour activer un proxy Fiddler pour votre appareil mobile, vous avez besoin du programme d’installation de CertMaker pour iOS et Android sur l’ordinateur exécutant Fiddler.To enable a Fiddler proxy for your phone device, you will need to setup the CertMaker for iOS and Android on the machine running Fiddler. Il s’agit d’un module complémentaire de Telerik pour Fiddler.This is an add-on from Telerik for Fiddler.

Si la connexion fonctionne correctement lorsque vous utilisez Fiddler, vous pouvez avoir un problème de certificat avec l’application de proxy d’application web ou le serveur ADFS.If the sign in works successfully when using Fiddler, you may have a certificate issue with either the WAP application or the ADFS server. Vous pouvez utiliser un outil tel que Microsoft Message Analyzer pour vérifier si les certificats sont valides.You can use a tool such as Microsoft Message Analyzer to verify if the certificates are valid.

Étapes suivantesNext steps

Inscrire un nom de principal du service pour un serveur de rapportsRegister a Service Principal Name (SPN) for a Report Server
Modifier un fichier de configuration Reporting ServicesModify a Reporting Services Configuration File
Configurer l’authentification Windows sur un serveur de rapportsConfigure Windows Authentication on a Report Server
Active Directory Federation ServicesActive Directory Federation Services
Proxy d’application web dans Windows Server 2016Web Application Proxy in Windows Server 2016
Publication d’applications à l’aide de la pré-authentification AD FSPublishing Applications using AD FS Preauthentication
Configurer AD FS 2016 et Azure MFAConfigure AD FS 2016 and Azure MFA
D’autres questions ?More questions? Posez vos questions à la communauté Power BITry the Power BI Community