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.

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. De nombreuses organisations n’autorisent pas ce type de configuration, car cela peut engendrer des problèmes de sécurité. Avec la mise à jour apportée à l’application mobile Power BI, vous pouvez maintenant utiliser OAuth pour vous connecter à Reporting Services. Windows Server 2016 fournit quelques améliorations au rôle Proxy d’application web qui autorisent ce type d’authentification.

Configuration requise

Windows Server 2016 est requis pour les serveurs Proxy d’application web (WAP) et Active Directory Federation Services (ADFS). Il est inutile d’avoir un domaine de niveau fonctionnel Windows 2016.

Configuration DNS (Domain Name Services)

Vous devez déterminer l’URL publique à laquelle l’application mobile Power BI se connecte. L’URL peut par exemple ressembler à ce qui suit.

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). Vous devez également configurer un enregistrement DNS public pour votre serveur AD FS. Par exemple, vous pouvez configurer le serveur ADFS avec l’URL suivante.

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.

Certificats

Vous devez configurer des certificats pour l’application WAP et le serveur ADFS. Ces certificats doivent faire partie d’une autorité de certificat valide reconnue par vos appareils mobiles.

Configuration de Reporting Services

Il n’y a pas grand chose à configurer du côté de Reporting Services. 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.

Nom de principal du service

Le nom de principal du service est un identificateur unique pour un service qui utilise l’authentification Kerberos. Vous devez avoir un nom de principal du service HTTP approprié pour votre serveur de rapports.

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.

Activation de l’authentification négociée

Pour autoriser un serveur de rapports à utiliser l’authentification Kerberos, vous devez définir le type d’authentification associé sur RSWindowsNegotiate. Cette opération est effectuée dans le fichier rsreportserver.config.

<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.

Configuration d’Active Directory Federation Services (ADFS)

Vous devez configurer AD FS sur un serveur Windows 2016 au sein de votre environnement. Pour cela, dans le Gestionnaire de serveur, sélectionnez Ajouter des rôles et fonctionnalités sous Gérer. Pour plus d’informations, consultez Active Directory Federation Services.

Créer un groupe d’applications

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.

Pour créer le groupe d’applications, procédez comme suit.

  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...

  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.

  3. Sélectionnez Suivant.

  4. Indiquez le nom de l’application que vous ajoutez.

  5. Alors que l’ID client est automatiquement généré pour vous, entrez 484d54fc-b481-4eee-9505-0258a1913020 pour iOS et Android.

  6. Vous pouvez ajouter les URL de redirection suivantes :

    Entrées pour 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

    Les applications Android ont seulement besoin de l’entrée suivante :
    urn:ietf:wg:oauth:2.0:oob

  7. Sélectionnez Suivant.

  8. Indiquez l’URL de votre serveur de rapports. Il s’agit de l’URL externe qui dirige vers votre proxy d’application web. Elle doit être au format suivant :

    Remarque :

    Cette URL est sensible à la casse.

    https:///reports

  9. Sélectionnez Suivant.

  10. Choisissez la Stratégie de contrôle d’accès répondant aux besoins de votre organisation.

  11. Sélectionnez Suivant.

  12. Sélectionnez Suivant.

  13. Sélectionnez Suivant.

  14. Sélectionnez Fermer.

Lorsque vous avez terminé, les propriétés de votre groupe d’applications doivent avoir l’aspect suivant.

Configuration du proxy d’application web (WAP)

Vous devez activer le rôle Windows Proxy d’application web sur un serveur dans votre environnement. Il doit s’agir d’un serveur Windows 2016. 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.

Configuration de la délégation contrainte

Pour passer de l’authentification OAuth à l’authentification Windows, nous devons utiliser la délégation contrainte avec la transition de protocole. Cela fait partie de la configuration de Kerberos. Nous avons déjà défini le nom de principal du service Reporting Services lors de la configuration de Reporting Services.

Nous devons configurer la délégation contrainte sur le compte du serveur WAP dans Active Directory. Vous devrez peut-être faire appel à un administrateur de domaine si vous n’avez pas de droits d’accès à Active Directory.

Pour configurer la délégation contrainte, vous devez effectuer les opérations suivantes.

  1. Sur un ordinateur sur lequel les outils Active Directory sont installés, lancez Utilisateurs et ordinateurs Active Directory.
  2. Recherchez le compte correspondant à votre serveur WAP. Par défaut, il s’agit du conteneur Ordinateurs.
  3. Cliquez avec le bouton droit sur le serveur WAP et accédez à Propriétés.
  4. Sélectionnez l’onglet Délégation.
  5. Sélectionnez N’approuver cet ordinateur que pour la délégation aux services spécifiés, puis Utiliser tout protocole d’authentification.

    Cela permet de configurer la délégation contrainte pour le compte du serveur WAP. Nous devons ensuite spécifier les services auxquels cet ordinateur est autorisé à déléguer.

  6. Sélectionnez Ajouter... sous la zone Services.

  7. Sélectionnez Utilisateurs ou ordinateurs...

  8. Entrez le compte de service que vous utilisez pour Reporting Services. Il s’agit du compte auquel vous avez ajouté le nom de principal du service lors de la configuration de Reporting Services.

  9. Sélectionnez le nom de principal du service pour Reporting Services, puis OK.

    Remarque :

    Vous voyez peut-être uniquement le nom de principal du service NetBIOS. Les noms de principal du service NetBIOS et FQDN sont tous deux sélectionnés s’ils existent.

  10. Le résultat doit ressembler à ce qui suit lorsque la case à cocher Développé est activée.

  11. Sélectionnez OK.

Ajouter une application WAP

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. Voici la commande permettant d’ajouter l’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ètre Commentaires
ADFSRelyingPartyName Il s’agit du nom de l’API web que vous avez créée dans le groupe d’applications au sein d’ADFS.
ExternalCertificateThumbprint Il s’agit du certificat à utiliser pour les utilisateurs externes. Il est important que ce certificat soit valide sur les appareils mobiles et provienne d’une autorité de certification approuvée.
BackendServerUrl Il s’agit de l’URL permettant d’accéder au serveur de rapports à partir du serveur WAP. Si le serveur WAP est situé dans un réseau de périmètre, vous devrez peut-être utiliser un nom de domaine complet. Vérifiez que vous pouvez atteindre cette URL à partir du navigateur web sur le serveur WAP.
BackendServerAuthenticationSPN Il s’agit du nom de principal du service que vous avez créé lors de la configuration de Reporting Services.

Définition de l’authentification intégrée pour l’application de proxy d’application web

Une fois que vous avez ajouté l’application de proxy d’application web, vous devez définir BackendServerAuthenticationMode sur IntegratedWindowsAuthentication. Pour cela, vous avez besoin de l’ID de l’application de proxy d’application web.

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.

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

Connexion à l’application mobile Power BI

Dans l’application mobile Power BI, vous pouvez vous connecter à l’instance Reporting Services. Pour ce faire, fournissez l’URL externe de votre application de proxy d’application web.

Lorsque vous sélectionnez Se connecter, vous êtes dirigé vers votre page de connexion AD FS. Entrez les informations d’identification valides pour votre domaine.

Une fois que vous avez sélectionné Se connecter, vous voyez les éléments de votre serveur Reporting Services.

Multi-Factor Authentication

Vous pouvez activer l’authentification multifacteur pour activer une sécurité supplémentaire pour votre environnement. Pour plus d’informations, consultez Configurer AD FS 2016 et Azure MFA.

Résolution des problèmes

Vous recevez l’erreur Échec de la connexion au serveur SSRS. Vérifiez la configuration du serveur.

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. 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. Il s’agit d’un module complémentaire de Telerik pour 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. Vous pouvez utiliser un outil tel que Microsoft Message Analyzer pour vérifier si les certificats sont valides.

Voir aussi

Inscrire un nom de principal du service pour un serveur de rapports
Modifier un fichier de configuration Reporting Services
Configurer l’authentification Windows sur un serveur de rapports
Active Directory Federation Services
Proxy d’application web dans Windows Server 2016
Publication d’applications à l’aide de la pré-authentification AD FS
Configurer AD FS 2016 et Azure MFA
D’autres questions ? Posez vos questions à la communauté Power BI