Перенаправление жестко закодированных ссылок для приложений, опубликованных с помощью прокси приложения Microsoft Entra
Прокси приложения Microsoft Entra делает локальные приложения доступными для пользователей, удаленных или на своих устройствах. Тем не менее, некоторые приложения были разработаны с помощью локальных ссылок, внедренных в HTML-код. Эти ссылки могут работать некорректно при использовании приложения удаленно. Если несколько локальных приложений указывают друг на друга, то пользователям требуется, чтобы ссылки продолжали работать, когда их нет в офисе.
Чтобы гарантировать работу ссылок как внутри корпоративной сети, так и за ее пределами, лучше всего настроить внешние URL-адреса приложений таким образом, чтобы они совпадали с их внутренними URL-адресами. При настройке внешних URL-адресов используйте личные домены, чтобы вместо домена прокси приложения по умолчанию адреса содержали ваше корпоративное доменное имя.
Если использовать личные домены в клиенте невозможно, следует рассмотреть несколько других вариантов для предоставления этой функциональности. Все остальные параметры также совместимы с пользовательскими доменами и друг с другом, поэтому можно настроить пользовательские домены и другие решения.
Примечание.
Преобразование ссылок не поддерживается для жестко заданных внутренних URL-адресов, созданных с помощью JavaScript.
Вариант 1. Использование Microsoft Edge. Это решение применимо только в том случае, если вы хотите рекомендовать пользователям или требовать от них, чтобы доступ к приложению осуществлялся через браузер Microsoft Edge. Он обрабатывает все опубликованные URL-адреса.
Вариант 2. Использование расширения MyApps. Для этого решения пользователям требуется установить расширение браузера на стороне клиента, но он обрабатывает все опубликованные URL-адреса и работает с наиболее популярными браузерами.
Вариант 3. Используйте параметр перевода ссылок. Параметр является параметром на стороне администратора, который невидим для пользователей. Однако он обрабатывает URL-адреса только в HTML и CSS.
Благодаря этим особенностям ссылки работают независимо от того, где находятся ваши пользователи. Если у вас есть приложения, указывающие непосредственно на внутренние конечные точки или порты, можно сопоставить эти внутренние URL-адреса с опубликованными URL-адресами прокси-сервера внешнего приложения.
Примечание.
Последний вариант предназначен только для арендаторов, которые по какой-либо причине не могут использовать личные домены, имеющие те же внутренние и внешние URL-адреса в своих приложениях. Прежде чем включить эту функцию, ознакомьтесь с тем, можно ли работать с пользовательскими доменами в прокси приложения Microsoft Entra.
А если преобразование ссылок необходимо настроить в приложении SharePoint, то см. статью Настройка альтернативных сопоставлений доступа для SharePoint 2013, где описан другой подход к сопоставлению ссылок.
Вариант 1. Интеграция Microsoft Edge
Для дальнейшей защиты приложения и содержимого можно использовать Microsoft Edge. Для работы с таким решением необходимо рекомендовать пользователям или требовать от них, чтобы доступ к приложению осуществлялся через Microsoft Edge. Microsoft Edge распознает все внутренние URL-адреса, опубликованные с помощью прокси приложения, и перенаправляет их на соответствующий внешний URL-адрес. Перенаправление гарантирует, что жестко закодированные внутренние URL-адреса работают. Если пользователь переходит в браузер и напрямую вводит внутренний URL-адрес, он работает, даже если пользователь удален.
Дополнительные сведения, включая настройку этого параметра, см . в документации по Microsoft Intune по управлению веб-доступом с помощью Microsoft Edge для iOS и Android.
Вариант 2. Расширение браузера MyApps
С расширением браузера MyApps все внутренние URL-адреса, опубликованные с помощью прокси приложения, распознают расширение и перенаправляются на соответствующий внешний URL-адрес. Перенаправление гарантирует, что все закодированные внутренние URL-адреса работают. Если пользователь переходит в адресную строку браузера и напрямую вводит внутренний URL-адрес, он работает, даже если пользователь удален.
Чтобы использовать эту возможность, пользователю необходимо скачать расширение и выполнить вход. Для администраторов или пользователей не требуется другая конфигурация.
Дополнительные сведения о настройке этого параметра см. в документации по расширению браузера MyApps.
Примечание.
Расширение браузера MyApps не поддерживает преобразование ссылок для URL-адресов с подстановочными знаками.
Вариант 3. Параметр преобразования ссылок
Служба прокси приложения выполняет поиск по HTML и CSS для опубликованных внутренних ссылок и преобразует их при включении перевода ссылок. Перевод ссылок обеспечивает непрерывный интерфейс. Использование расширения браузера MyApps предпочтительнее для параметра перевода ссылок, так как оно обеспечивает более эффективную работу.
Примечание.
Варианты 2 и 3 не следует использовать одновременно.
Как работает преобразование ссылок
После проверки подлинности, когда прокси-сервер передает данные приложения пользователю, прокси приложения проверяет приложение на наличие жестко закодированных ссылок и заменяет их соответствующими опубликованными внешними URL-адресами.
Прокси приложения предполагает, что приложения кодируются в UTF-8. Если это не так, то укажите тип кодирования в HTTP-заголовке ответа, например Content-Type:text/html;charset=utf-8
.
Какие ссылки будут затронуты
Функция преобразования ссылок ищет только ссылки, которые находятся в тегах кода в основной части приложения. Прокси приложения имеет отдельную функцию для перевода файлов cookie или URL-адресов в заголовках.
Существует два общих типа внутренних ссылок в локальных приложениях:
- Относительные внутренние ссылки, которые указывают на общедоступный ресурс в локальной структуре файлов, такой как
/claims/claims.html
. Эти ссылки автоматически работают в приложениях, опубликованных через прокси приложения, и продолжают работать с переводом ссылок или без них. - Жестко заданные внутренние ссылки на другие локальные приложения, такие как
http://expenses
, или опубликованные файлы, напримерhttp://expenses/logo.jpg
. Функция преобразования ссылок работает с жестко заданными внутренними ссылками и изменяет их для указания на внешние URL-адреса, по которым могут пройти удаленные пользователи.
Полный список атрибутов в тегах кода HTML, которые прокси приложения поддерживает преобразование ссылок для включения:
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)
Атрибут URL-адреса преобразуется и в коде CSS.
Как приложения ссылаются друг на друга
Преобразование ссылок включено для каждого приложения, чтобы у вас был контроль над работой пользователя на уровне отдельных приложений. Включите преобразование ссылок для приложения, если необходимо, чтобы преобразовывались ссылки из этого приложения, а не ссылки на него.
Например, предположим, что у вас есть три приложения, опубликованные через прокси приложения, которые связываются друг с другом: преимущества, расходы и путешествия. Существует четвертое приложение, отзыв, который не публикуется через прокси приложения.
При включении перевода ссылок для приложения "Преимущества" ссылки на expenses and Travel перенаправляются на внешние URL-адреса для этих приложений. Однако ссылка на отзыв не перенаправляется, так как внешний URL-адрес отсутствует. Ссылки из expenses and Travel back to Benefits не работают, так как перевод ссылок не включен для этих двух приложений.
Какие ссылки не преобразовываются
Для повышения производительности и безопасности некоторые ссылки не преобразовываются:
- Ссылки вне тегов кода.
- Ссылки в формате, отличном от HTML или CSS.
- Ссылки в кодировке URL-адресов.
- Внутренние ссылки, открываемые из других программ. Ссылки, отправленные по электронной почте или мгновенному сообщению или включенные в другие документы, не переводятся. Пользователи должны знать, как переходить по внешним URL-адресам.
Если вам необходима поддержка одного из этих двух сценариев, то вместо преобразования ссылок используйте одинаковые внутренние и внешние URL-адреса.
Включение преобразования ссылок
Приступить к работе с преобразованием ссылок очень просто:
Войдите в Центр администрирования Microsoft Entra как минимум администратор приложений.
Перейдите к приложениям>Identity>Application Enterprise Для всех приложений.>
Выберите приложение, которое вы хотите управлять.
Переведите переключатель Translate URLs in application body (Преобразовывать URL-адреса в коде приложения) в состояние Да.
Нажмите кнопку Сохранить, чтобы применить изменения.
Теперь, когда пользователи получают доступ к этому приложению, прокси-сервер проверяет внутренние URL-адреса, опубликованные через прокси приложения в клиенте.