Приложения с подстановочным знаком в Application Proxy для Azure Active Directory

Настройка большого количества локальных приложений в Azure Active Directory (Azure AD) может быстро привести к потере управления ими породить ненужные риски возникновения ошибок конфигурации, если многие из них требуют применения одинаковых параметров. Прокси приложения Azure AD позволяет устранить эту проблему, используя публикацию приложений с подстановочным знаком для одновременной публикации нескольких приложений и управления ими. Это решение дает следующие возможности.

  • Уменьшение дополнительных временных затрат на администрирование.
  • Уменьшение числа потенциальных ошибок конфигурации.
  • Предоставление пользователям безопасного доступа к дополнительным ресурсам.

В этой статье представлены сведения, необходимые для настройки публикации приложений с подстановочным знаком в вашей среде.

Создание приложения с подстановочным знаком

Можно создать приложение с подстановочным знаком (*), если имеется группа приложений с одинаковой конфигурацией. Потенциальными кандидатами для приложения с подстановочным знаком являются приложения, совместно использующие следующее:

  • группа пользователей, имеющая доступ к этим приложениям;
  • метод единого входа;
  • протокол доступа (HTTP, HTTPS).

Можно публиковать приложения с помощью подстановочных знаков, если внутренние и внешние URL-адреса представлены в следующем формате:

http(s)://*.<domain>

Например: http(s)://*.adventure-works.com.

Хотя внутренние и внешние URL-адреса могут содержать разные домены, рекомендуется, чтобы они совпадали. При публикации приложения появится сообщение об ошибке, если один из URL-адресов не содержит подстановочный знак.

При создании приложения с подстановочным знаком используется тот же процесс публикации приложения, что и для всех других приложений. Единственное отличие заключается в добавлении подстановочного знака в URL-адреса и, возможно, настройке единого входа.

Предварительные требования

Для начала убедитесь, что вы выполнили эти требования.

Личные домены

Хотя личные домены не являются обязательными для других приложений, они являются необходимым условием для создания приложений с подстановочным знаком. Для создания личных доменов необходимо:

  1. Создать проверенный домен в Azure.
  2. Передать TLS- или SSL-сертификат в формате PFX на прокси приложения.

Рассмотрите возможность использования сертификата с подстановочным знаком для сопоставления с приложением, которое вы собираетесь создать.

По соображениям безопасности это требование является обязательным, и подстановочные знаки не будут поддерживаться для приложений, которые не могут использовать личный домен во внешнем URL-адресе.

Обновления DNS

При использовании личных доменов необходимо создать запись DNS с записью CNAME для внешнего URL-адреса (например, *.adventure-works.com), указывающую на внешний URL-адрес конечной точки прокси приложения. Для приложений с подстановочным знаком запись CNAME должна указывать на соответствующий внешний URL-адрес:

<yourAADTenantId>.tenant.runtime.msappproxy.net

Чтобы убедиться, что запись CNAME правильно настроена, можно использовать nslookup на одной из целевых конечных точек, например expenses.adventure-works.com. Полученный ответ должен содержать упомянутый выше псевдоним (<yourAADTenantId>.tenant.runtime.msappproxy.net).

Использование групп соединителей, назначенных для региона облачной службы прокси приложения, отличного от региона по умолчанию

Если соединители установлены в регионах, отличных от региона клиента по умолчанию, может быть полезно изменить регион, для которого оптимизирована группа соединителей, чтобы повысить производительность доступа к этим приложениям. Сведения о том, как это сделать, см. в разделе Оптимизация групп соединителей для использования ближайшей облачной службы Application Proxy.

Если группа соединителей, назначенная для приложения с подстановочными знаками, использует регион, отличный от региона по умолчанию, необходимо обновить запись CNAME, чтобы она указывала на конкретный региональный внешний URL-адрес. Для определения соответствующего URL-адреса используйте следующую таблицу:

Регион, назначенный соединителю Внешний URL-адрес
Азия <yourAADTenantId>.asia.tenant.runtime.msappproxy.net
Австралия <yourAADTenantId>.aus.tenant.runtime.msappproxy.net
Европа <yourAADTenantId>.eur.tenant.runtime.msappproxy.net
Северная Америка <yourAADTenantId>.nam.tenant.runtime.msappproxy.net

Рекомендации

Ниже приведены некоторые рекомендации, которые следует учитывать при работе приложения с подстановочными знаками.

Допустимые форматы

Для приложений с подстановочным знаком внутренний URL-адрес должен указан в формате http(s)://*.<domain>.

For internal URL, use the format http(s)://*.<domain>

При настройке внешнего URL-адреса необходимо использовать следующий формат: https://*.<custom domain>.

For external URL, use the format https://*.<custom domain>

Другие позиции подстановочного знака, несколько подстановочных знаков или другие строки регулярных выражений не поддерживаются и порождают ошибки.

Исключение приложений из приложения с подстановочным знаком

Приложение можно исключить из приложения с подстановочным знаком:

  • опубликовав исключаемое приложение как обычное приложение;
  • включив подстановочный знак только для определенных приложений с помощью параметров DNS.

Публикация приложения в качестве обычного приложения является предпочтительным способом исключения из приложения с подстановочным знаком. Публиковать исключенные приложения следует перед публикацией приложений с подстановочным знаком, чтобы обеспечить их исключение с самого начала. Чем определеннее приложение, тем выше его приоритет: приложение, опубликованное как budgets.finance.adventure-works.com, имеет приоритет над приложением *.finance.adventure-works.com, которое, в свою очередь, имеет приоритет над приложением *.adventure-works.com.

Можно также ограничить применение подстановочного знака только определенными приложениями с помощью параметров управления DNS. Рекомендуется создать запись CNAME, которая содержит подстановочный знак и соответствует формату настроенного внешнего URL-адреса. Однако вместо этого можно указать определенные URL-адреса приложений для подстановочных знаков. Например, вместо *.adventure-works.com можно указать hr.adventure-works.com, а вместо expenses.adventure-works.com и travel.adventure-works.com individually — 000aa000-11b1-2ccc-d333-4444eee4444e.tenant.runtime.msappproxy.net.

При использовании этого подхода необходима еще одна запись CNAME для значения AppId.domain, например 00000000-1a11-22b2-c333-444d4d4dd444.adventure-works.com, которое указывает на то же расположение. Значение AppId можно найти на странице свойств приложения с подстановочным знаком.

Find the application ID on the app's property page

Задание URL-адреса домашней страницы панели MyApps

Приложение с подстановочным знаком представлено всего одним элементом на панели MyApps. По умолчанию этот элемент скрыт. Чтобы отобразить его и позволить пользователям переходить на конкретную страницу, выполните следующее.

  1. Следуйте указаниям по настройке URL-адреса домашней страницы.
  2. На странице свойств приложения для параметра Show Application (Показать приложение) задайте значение true.

Ограниченное делегирование Kerberos

Для приложений, использующих ограниченное делегирование Kerberos в качестве метода единого входа, имя субъекта-службы, указанное для метода единого входа, также может потребовать использования подстановочного знака. Например, может именем субъекта-службы может быть HTTP/*.adventure-works.com. Вам по-прежнему нужно настроить отдельные имена субъектов-служб на внутренних серверах (например, HTTP/expenses.adventure-works.com and HTTP/travel.adventure-works.com).

Сценарий 1. Общее приложение с подстановочным знаком

В этом сценарии требуется опубликовать три разных приложения.

  • expenses.adventure-works.com
  • hr.adventure-works.com
  • travel.adventure-works.com

Все три приложения:

  • используются всеми пользователями;
  • используют Встроенную проверку подлинности Windows;
  • имеют одинаковые свойства.

Опубликовать приложение с подстановочным знаком можно, выполнив действия, описанные в разделе Публикация приложений с помощью прокси приложения Azure AD. В этом сценарии предполагается:

  • наличие клиента со следующим Идентификатором: 000aa000-11b1-2ccc-d333-4444eee4444e;
  • наличие настроенного проверенного домена adventure-works.com;
  • создание записи CNAME, которая указывает *.adventure-works.com на 000aa000-11b1-2ccc-d333-4444eee4444e.tenant.runtime.msappproxy.net.

После выполнения описанных действий создайте приложение Application Proxy в клиенте. В этом примере подстановочный знак используется в следующих полях.

  • Внутренний URL-адрес:

    Example: Wildcard in internal URL

  • Внешний URL-адрес:

    Example: Wildcard in external URL

  • Внутреннее имя субъекта-службы приложения

    Example: Wildcard in SPN configuration

Опубликовав приложение с подстановочным знаком, вы сможете получить доступ к трем приложениям, переходя по привычным URL-адресам (например, travel.adventure-works.com).

Конфигурация реализует следующую структуру.

Shows the structure implemented by the example configuration

Color Description
Синий Приложения явным образом опубликованы и доступны на портале Azure.
Серый Приложения доступны через родительское приложение.

Сценарий 2. Общее приложение с подстановочным знаком с исключением

В этом сценарии помимо трех общих приложений имеется еще одно приложение finance.adventure-works.com, которое должно быть доступно только финансовому отделу. При текущей структуре приложений финансовое приложение было бы доступно всем сотрудникам через приложение с подстановочным знаком. Чтобы изменить это, исключите его из приложения с подстановочным знаком, настроив финансовое приложение как отдельное приложение с более строгими разрешениями.

Необходимо обеспечить наличие записи CNAME, указывающей finance.adventure-works.com на определенную конечную точку приложения, заданную на странице прокси приложения для приложения. В данном случае выберите finance.adventure-works.com указывает на https://finance-awcycles.msappproxy.net/.

После выполнения описанных действий в этом сценарии необходимо выполнить следующую настройку.

  • Во внутреннем URL-адресе укажите finance вместо подстановочного знака.

    Example: Set finance instead of a wildcard in internal URL

  • Во внешнем URL-адресе укажите finance вместо подстановочного знака.

    Example: Set finance instead of a wildcard in external URL

  • Во внутреннем имени субъекта-службы приложения вместо подстановочного знака укажите finance.

    Example: Set finance instead of a wildcard in SPN configuration

Эта конфигурация реализует следующий сценарий.

Shows the configuration implemented by the sample scenario

Так как finance.adventure-works.com является более точным URL-адресом, чем *.adventure-works.com, он имеет более высокий приоритет. Пользователи, переходящие по адресу finance.adventure-works.com, используют функции, указанные в финансовом приложении. В этом случае доступ к finance.adventure-works.com имеют только сотрудники финансового отдела.

Если вы опубликовали несколько приложений для финансового отдела и используете проверенный домен finance.adventure-works.com, то можно опубликовать другое приложение с подстановочным знаком *.finance.adventure-works.com. Так как оно определено точнее, чем общее приложение *.adventure-works.com, оно имеет более высокий приоритет в случае, когда пользователь обращается к приложению в домене finance.

Дальнейшие действия