Rediriger les liens codés en dur pour des applications publiées avec le proxy d’application Microsoft Entra

Le Proxy d’application Microsoft Entra rend vos applications locales disponibles pour les utilisateurs distants ou sur leurs propres appareils. Toutefois, certaines applications, ont été développées avec des liens locaux incorporés dans le code HTML. Ces liens ne fonctionnent pas correctement lorsque l’application est utilisée à distance. Lorsque vous disposez de plusieurs applications locales en lien l’une avec l’autre, vos utilisateurs attendent que les liens continuent à fonctionner lorsqu’ils ne sont pas au bureau.

La meilleure façon de vous assurer que des liens fonctionnent de la même manière à l’intérieur et à l’extérieur de votre réseau d’entreprise est de configurer les URL externes de vos applications comme les URL internes. Utilisez des domaines personnalisés pour configurer vos URL externes et utiliser votre nom de domaine d’entreprise plutôt que le domaine de proxy d’application par défaut.

Si vous ne pouvez pas utiliser des domaines personnalisés dans votre locataire, il existe plusieurs autres options pour fournir cette fonctionnalité. Toutes les autres options sont également compatibles les unes avec les autres ainsi qu’avec les domaines personnalisés. Vous pouvez donc configurer des domaines personnalisés et d’autres solutions.

Remarque

La traduction des liens n’est pas prise en charge pour les URL internes codées en dur générées via JavaScript.

Option n°1 : Utiliser Microsoft Edge – Cette solution s’applique uniquement si vous envisagez de recommander ou d’exiger que les utilisateurs accèdent à l’application via le navigateur Microsoft Edge. Il gère toutes les URL publiées.

Option 2 : Utiliser l’extension MyApps – Cette solution exige des utilisateurs qu’ils installent une extension de navigateur côté client, mais elle gère les URL publiées et fonctionne avec les navigateurs les plus populaires.

Option 3 : Utiliser le paramètre de traduction de lien – Cette option est un paramètre côté administrateur qui est invisible pour les utilisateurs. En revanche, il gère uniquement les URL en HTML et CSS.

Ces trois fonctionnalités garantissent le fonctionnement de vos liens quel que soit l’emplacement des utilisateurs. Lorsque vous avez des applications qui indiquent directement des points de terminaison internes ou des ports, vous pouvez mapper ces URL internes aux URL de proxy d’application externes publiées.

Notes

La dernière option est destinée uniquement aux locataires qui, pour une raison ou une autre, ne peuvent pas utiliser de domaines personnalisés avec les mêmes URL internes et externes pour leurs applications. Avant d’activer cette fonctionnalité, consultez si des domaines personnalisés dans le Proxy d’application Microsoft Entra peuvent vous être utiles.

Ou, si l’application que vous souhaitez configurer avec une traduction de liens est SharePoint, consultez Configurer les mappages d’accès de substitution pour SharePoint 2013 pour une autre approche des liens de mappage.

Option 1 : Intégration de Microsoft Edge

Vous pouvez utiliser Microsoft Edge pour renforcer la protection de votre application et de votre contenu. Pour utiliser cette solution, vous devez exiger/recommander que les utilisateurs accèdent à l’application via Microsoft Edge. Microsoft Edge reconnaît toutes les URL internes publiées avec le proxy d’application, et les redirige vers l’URL externe correspondante. La redirection garantit le fonctionnement des URL internes codées en dur. Si un utilisateur accède au navigateur et tape directement l’URL interne, elle fonctionne même si l’utilisateur est distant.

Pour plus d’informations, notamment sur la façon de configurer cette option, consultez la documentation Gérer l’accès web à l’aide de Microsoft Edge pour iOS et Android avec Microsoft Intune.

Option n°2 : Extension de navigateur MyApps

Avec l’extension de navigateur MyApps, toutes les URL internes publiées avec le proxy d’application sont reconnues par l’extension et redirigées vers l’URL externe correspondante. La redirection garantit le fonctionnement de toutes les URL internes codées en dur. Si un utilisateur tape directement l’URL interne dans la barre d’adresse du navigateur, elle fonctionne même si l’utilisateur est distant.

Pour utiliser cette fonctionnalité, l’utilisateur doit télécharger l’extension et être connecté. Aucune autre configuration n’est nécessaire de la part des administrateurs ou des utilisateurs.

Pour plus d’informations, notamment sur la façon de configurer cette option, consultez la documentation de l’extension de navigateur MyApps.

Remarque

L’extension de navigateur MyApps ne prend pas en charge la traduction de liens pour les URL génériques.

Le service de proxy d’application effectue des recherches dans le code HTML et CSS afin de trouver les liens internes publiés, et il les traduit lorsque la traduction des liens est activée. La traduction des liens offre une expérience sans interruption. L’utilisation de l’extension de navigateur MyApps est préférée au paramètre de traduction de liens, car elle offre une expérience plus performante.

Remarque

Si vous utilisez l’option 2 ou 3, vous ne devez en activer qu’une à la fois.

Après l’authentification, lorsque le serveur proxy transmet les données d’application à l’utilisateur, le proxy d’application analyse l’application pour obtenir des liens codés en dur et les remplace par leurs URL externes publiées respectives.

Le proxy d’application part du principe que les applications sont encodées en UTF-8. Si tel n’est pas le cas, spécifiez le type de codage dans un en-tête de réponse HTTP, tel que Content-Type:text/html;charset=utf-8.

La fonctionnalité de traduction de lien recherche uniquement les liens qui se trouvent dans les balises de code dans le corps d’une application. Le proxy d’application dispose d’une fonctionnalité distincte pour traduire les URL ou les cookies dans les en-têtes.

Il existe deux types de liens internes communs dans des applications locales :

  • Les liens internes relatifs qui indiquent une ressource partagée dans une structure de fichiers locaux, tels que /claims/claims.html. Ces liens fonctionnent automatiquement dans les applications publiées via le proxy d’application et continuent de fonctionner avec ou sans traduction de liens.
  • Les liens internes codés en dur vers d’autres applications locales comme http://expenses ou des fichiers publiés comme http://expenses/logo.jpg. La fonctionnalité de traduction de lien fonctionne sur les liens internes codés en dur et les modifie pour pointer vers les URL externes par lesquelles les utilisateurs distants doivent passer.

Liste complète des attributs dans les balises de code HTML pour lesquelles le proxy d’application prend en charge la traduction de liens :

  • a (href)
  • audio (src)
  • base (href)
  • button (formaction)
  • div (data-background, style, data-src)
  • embed (src)
  • form (action)
  • frame (src)
  • head (profile)
  • html (manifest)
  • iframe (longdesc, src)
  • img (longdesc, src)
  • input (formaction, src, value)
  • link (href)
  • menuitem (icon)
  • meta (content)
  • object (archive, data, codebase)
  • script (src)
  • source (src)
  • track (src)
  • video (src, poster)

En outre, dans CSS, l’attribut URL est également traduit.

La traduction de lien est activée pour chaque application, afin que vous contrôliez l’expérience utilisateur pour chaque application. Activez la traduction de lien pour une application lorsque vous souhaitez que les liens depuis cette application soient traduits et pas les liens vers cette application.

Par exemple, supposons que vous disposez de trois applications publiées via le proxy d’application qui sont toutes liées l’une à l’autre : Profits, Dépenses et Transports. Il existe une quatrième application, Commentaires, qui n’est pas publiée via le proxy d’application.

Lorsque vous activez la traduction des lien pour l’application Profits, les liens vers Dépenses et Transports sont redirigés vers les URL externes pour ces applications. Toutefois, le lien vers Commentaires n’est pas redirigé, car il n’existe aucune URL externe. Les liens allant des applications Dépenses et Transports vers l’application Profits ne fonctionnent pas, car la traduction des liens n’est pas activée pour ces deux applications.

Links from Benefits to other apps when link translation is enabled

Pour améliorer les performances et la sécurité, certains liens ne sont pas traduits :

  • Les liens non inclus dans des balises de code.
  • Liens dans un code autre que HTML ou CSS.
  • Liens au format codé URL.
  • Liens internes ouverts à partir d’autres programmes. Les liens envoyés par e-mail ou message instantané, ou inclus dans d’autres documents, ne sont pas traduits. Les utilisateurs doivent savoir comment accéder à l’URL externe.

Si vous avez besoin de prendre en charge un de ces deux scénarios, vous pouvez utiliser les mêmes URL internes et externes, ce qui élimine le besoin de traduction de liens.

Bien démarrer avec la traduction de lien est aussi simple que cliquer sur un bouton :

  1. Connectez-vous au centre d’administration Microsoft Entra en tant qu’administrateur d’applications au moins.

  2. Accédez à Identité>Applications>Applications d’entreprise>Toutes les applications.

  3. Sélectionnez l’application que vous voulez gérer.

  4. Définissez Traduire les URL dans le corps de l’application sur Oui.

    Select Yes to translate URLs in application body

  5. Sélectionnez Enregistrer pour enregistrer vos modifications.

Maintenant, lorsque les utilisateurs accèdent à cette application, le proxy recherche les URL internes qui sont publiées via le proxy d’application sur votre locataire.

Étapes suivantes