Utilisation d’OAuth pour se connecter à Power BI Report Server et SSRS
Vous pouvez utiliser OAuth pour vous connecter à Power BI Report Server et Reporting Services afin d’afficher des rapports mobiles ou des indicateurs de performance clés. Découvrez comment configurer votre environnement pour prendre en charge l’authentification OAuth avec l’application mobile Power BI afin de vous connecter à Power BI Report Server et SQL Server Reporting Services 2016 ou ultérieur.
Notes
L’affichage des rapports Power BI hébergés dans Power BI Report Server à l’aide de WAP pour l’authentification est maintenant pris en charge pour les applications iOS et Android.
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.
Pour que les utilisateurs puissent ajouter une connexion de serveur de rapports à leur application mobile Power BI, vous devez leur accorder l’accès au dossier de base du serveur de rapports.
Configuration DNS (Domain Name Services)
L’URL publique est celle à laquelle l’application Power BI Mobile se connecte. L’URL peut par exemple ressembler à ce qui suit.
https://reports.contoso.com
Pointez 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
Pointez 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. Vous devez simplement vérifier les points suivants :
- Il existe un nom de principal du service (SPN) valide pour permettre l’authentification Kerberos appropriée.
- Le serveur Reporting Services est activé pour la négociation de l’authentification.
- Les utilisateurs ont accès au dossier de base du serveur de rapports.
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. Effectuez cette opération 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. Vous pouvez effectuer cette configuration dans le Gestionnaire de serveur en sélectionnant 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 Power BI Mobile.
Pour créer le groupe d’applications, procédez comme suit.
Depuis l’application de gestion AD FS, cliquez avec le bouton droit sur Groupes d’applications, puis sélectionnez Ajouter un groupe d’applications...
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.
Cliquez sur Suivant.
Indiquez le nom de l’application que vous ajoutez.
Alors que l’ID client est automatiquement généré pour vous, entrez 484d54fc-b481-4eee-9505-0258a1913020 pour iOS et Android.
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.powerbimobilemsLes applications Android ont seulement besoin des étapes suivantes :
urn:ietf:wg:oauth:2.0:oobCliquez sur Suivant.
Indiquez l’URL de votre serveur de rapports. Il s’agit de l’URL externe qui pointe vers votre proxy d’application web. Elle doit être au format suivant :
Notes
Cette URL est sensible à la casse.
https://<report server url>/reports
Cliquez sur Suivant.
Choisissez la Stratégie de contrôle d’accès répondant aux besoins de votre organisation.
Cliquez sur Suivant.
Sélectionnez Suivant.
Sélectionnez Suivant.
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 étapes suivantes.
Sur un ordinateur sur lequel les outils Active Directory sont installés, lancez Utilisateurs et ordinateurs Active Directory.
Recherchez le compte correspondant à votre serveur WAP. Par défaut, il s’agit du conteneur Ordinateurs.
Cliquez avec le bouton droit sur le serveur WAP et accédez à Propriétés.
Sélectionnez l’onglet Délégation.
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.
Sélectionnez Ajouter sous la zone Services.
Sélectionnez Utilisateurs ou ordinateurs...
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.
Sélectionnez le nom de principal du service pour Reporting Services, puis OK.
Notes
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.
Le résultat doit ressembler à ce qui suit lorsque la case à cocher Développé est activée.
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/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl https://ContosoSSRS/ -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 le 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. Vous avez besoin de l’ID de l’application de proxy d’application web pour cela.
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.
Quand vous sélectionnez Se connecter, vous êtes dirigé vers votre page de connexion à ADFS. 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 Azure MFA comme fournisseur d’authentification avec AD FS.
Résolution des problèmes
Vous recevez l’erreur « Échec de la connexion au serveur SSRS »
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.
Contenu connexe
- 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 ? Essayez la communauté Power BI