Руководство. Включение безопасного гибридного доступа для приложений с помощью Azure Active Directory B2C и F5 BIG-IP

Узнайте, как интегрировать Azure Active Directory B2C (Azure AD B2C) с F5 BIG-IP Access Policy Manager (APM). Вы можете безопасно предоставлять устаревшие приложения в Интернете с помощью системы безопасности BIG-IP с помощью предварительной проверки подлинности B2C Azure AD, условного доступа (ЦС) и единого входа ( SSO). F5 Inc. фокусируется на доставке, безопасности, производительности и доступности подключенных служб, включая вычислительные ресурсы, хранилище и сетевые ресурсы. Она предоставляет оборудование, модульное программное обеспечение и облачные виртуальные модули.

Разверните контроллер доставки приложений (ADC) F5 BIG-IP в качестве безопасного шлюза между частными сетями и Интернетом. Существуют функции для проверки на уровне приложений и настраиваемых элементов управления доступом. При развертывании в качестве обратного прокси-сервера используйте BIG-IP для обеспечения безопасного гибридного доступа к бизнес-приложениям с уровнем доступа федеративных удостоверений, управляемым APM.

Перейдите к f5.com ресурсам и документам, чтобы: Простая настройка безопасного доступа ко всем приложениям с помощью идентификатора Microsoft Entra

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

Для начала работы необходимы перечисленные ниже компоненты и данные.

Описание сценария

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

В этом сценарии доступ для внутреннего приложения зависит от получения заголовков авторизации HTTP из устаревшей системы брокера. Агентов по продажам можно направлять в соответствующие области содержимого. Службу необходимо расширить до более широкой базы потребителей. Приложение обновляется для параметров проверки подлинности потребителей или заменяется.

В идеале обновление приложения поддерживает прямое управление и управление с помощью современной плоскости управления. Однако время и усилия на модернизацию повысят затраты и возможные простои. Вместо этого разверните big-IP Virtual Edition (VE) между общедоступным Интернетом и внутренней виртуальной сетью Azure для доступа с помощью Azure AD B2C. BIG-IP перед приложением обеспечивает наложение службы с помощью предварительной проверки подлинности B2C Azure AD и единого входа на основе заголовков, что повышает уровень безопасности приложений.

Решение безопасного гибридного доступа состоит из следующих компонентов:

  • Приложение — серверная служба, защищенная гибридным доступом Azure AD B2C и BIG-IP
  • Azure AD B2C — сервер авторизации поставщика удостоверений (IdP) и OpenID Connect (OIDC), который проверяет учетные данные пользователя, многофакторную проверку подлинности и единый вход в APM BIG-IP
  • BIG-IP — обратный прокси-сервер для приложения. BIG-IP APM — это клиент OIDC, делегирующий проверку подлинности серверу авторизации OIDC перед единым входом на основе заголовков в серверную службу.

На следующей схеме показан поток, инициированный поставщиком услуг для этого сценария.

Снимок экрана: поток, инициированный поставщиком услуг.

  1. Пользователь подключается к конечной точке приложения. BIG-IP — это поставщик услуг.
  2. Клиент BIG-IP APM OIDC перенаправляет пользователя на конечную точку клиента B2C Azure AD, сервер авторизации OIDC.
  3. Azure AD клиент B2C предварительно проверяет подлинность пользователя и применяет политики условного доступа.
  4. Azure AD B2C перенаправляет пользователя обратно к поставщику услуг с помощью кода авторизации.
  5. Клиент OIDC запрашивает сервер авторизации обменять код авторизации на маркер идентификации.
  6. BIG-IP APM предоставляет пользователю доступ и внедряет заголовки HTTP в клиентский запрос, направленный в приложение.

Конфигурация Azure Active Directory B2C

Чтобы включить BIG-IP с Azure AD проверкой подлинности B2C, используйте клиент Azure AD B2C с потоком пользователя или настраиваемой политикой.

См. учебник. Создание пользовательских потоков и настраиваемых политик в Azure AD B2C

Создание настраиваемых атрибутов

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

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

  1. Войдите в портал Azure с правами глобального администратора.
  2. На панели слева выберите Атрибуты пользователя.
  3. Выберите Добавить , чтобы создать два настраиваемых атрибута.
  4. В поле Идентификатор агента выберите Строковый тип данных.
  5. В поле Географическое расположение агента выберите Тип данных строки.

Добавление атрибутов в поток пользователя

  1. В меню слева перейдите к разделу Политики Потоки>пользователей.
  2. Выберите политику, например B2C_1_SignupSignin.
  3. Выберите Атрибуты пользователя.
  4. Добавьте оба настраиваемых атрибута.
  5. Добавьте атрибут Отображаемое имя . Эти атрибуты собираются во время регистрации пользователя.
  6. Выберите элемент Утверждения приложения.
  7. Добавьте оба настраиваемых атрибута.
  8. Добавьте отображаемое имя. Эти атрибуты отправляются в BIG-IP.
  9. Выберите Выполнить поток пользователя.
  10. В меню потока пользователя на панели навигации слева проверьте запросы для определенных атрибутов.

Дополнительные сведения: Учебник. Создание пользовательских потоков и настраиваемых политик в Azure AD B2C

Федерация Azure AD B2C

Федерация BIG-IP и Azure AD B2C для взаимного доверия. Зарегистрируйте BIG-IP в клиенте Azure AD B2C в качестве приложения OIDC.

  1. На портале выберите Регистрация приложений>Новая регистрация.
  2. Введите имя приложения, например HeaderApp1.
  3. В разделе Поддерживаемые типы учетных записей выберите элемент Accounts in any identity provider or organizational directory (for authenticating users with user flows) (Учетные записи в любом поставщике удостоверений или каталоге организации (для аутентификации пользователей с использованием сведений о маршрутах пользователей)).
  4. В разделе URI перенаправления выберите Интернет.
  5. Введите общедоступное полное доменное имя защищенной службы.
  6. Введите путь.
  7. Оставьте остальные выбранные значения.
  8. Выберите Зарегистрировать.
  9. Перейдите в раздел Секреты сертификатов&+ Новый секрет клиента.>
  10. Введите описательное имя
  11. Введите срок жизни для секрета, используемого BIG-IP.
  12. Обратите внимание на секрет клиента для конфигурации BIG-IP.

URI перенаправления — это конечная точка BIG-IP. После проверки подлинности сервер авторизации (Azure AD B2C) отправляет пользователей в конечную точку.

Дополнительные сведения: Руководство. Регистрация веб-приложения в Azure AD B2C для Azure AD B2C.

Конфигурация BIG-IP

Для конфигурации BIG-IP используйте интерактивную конфигурацию версии 7/8. Платформа рабочих процессов адаптирована для доступа к топологиям и позволяет быстро публиковать веб-службы.

Версия интерактивной конфигурации

  1. Чтобы подтвердить версию, войдите в веб-конфигурацию BIG-IP с учетной записью администратора.
  2. Перейдите в раздел Доступ> кинтерактивной конфигурации.
  3. Версия отображается в правом верхнем углу.

Чтобы обновить интерактивную конфигурацию, перейдите к my.f5.com для K85454683: Обновление интерактивной конфигурации F5 BIG-IP в системе BIG-IP.

Профили SSL

Используйте BIG-IP, настроенный с профилем SSL клиента, чтобы защитить трафик на стороне клиента по протоколу TLS. Импортируйте сертификат, соответствующий доменному имени, используемому общедоступным URL-адресом приложения. Рекомендуется использовать общедоступный центр сертификации, но для тестирования можно использовать самозаверяемые сертификаты BIG-IP.

Чтобы добавить сертификаты в BIG-IP VE и управлять ими, перейдите в techdocs.f5.com для системы BIG-IP: администрирование SSL.

Интерактивная конфигурация

  1. Чтобы запустить мастер развертывания, в веб-конфигурации перейдите в раздел Доступ> кинтерактивной конфигурации.
  2. Выберите FederationF5 (Федерация F5) в качестве клиента OAuth и сервера ресурсов.>
  3. Просмотрите сводку по потоку для этого сценария.
  4. Выберите Далее.
  5. Запустится мастер.

Свойства OAuth

В следующих разделах определите свойства для включения федерации между BIG-IP APM и сервером авторизации OAuth, Azure AD клиентом B2C. OAuth ссылается на всю конфигурацию BIG-IP. Решение использует OIDC, уровень удостоверений в протоколе OAuth 2.0. Клиенты OIDC проверяют удостоверение пользователя и получают другие сведения о профиле.

Имя конфигурации

Отображаемое имя конфигурации помогает различать конфигурации развертывания в интерактивной конфигурации. Вы не можете изменить имя, и оно отображается только в представлении Интерактивной конфигурации.

Режим

BIG-IP APM является клиентом OIDC, поэтому выберите параметр Клиент.

Сопоставитель DNS

Указанный целевой объект должен разрешать общедоступные IP-адреса конечных точек Azure AD B2C. Выберите общедоступный сопоставитель DNS или создайте новый.

Параметры поставщика

Настройте Azure AD B2C в качестве поставщика удостоверений OAuth2. Интерактивная конфигурация содержит Azure AD шаблонов B2C, но не в определенных областях.

Добавьте новый поставщик и настройте его:

Общие свойства OAuth

Свойства Описание
OAuth provider type (Тип поставщика OAuth) Особые настройки
Choose OAuth provider (Выбор поставщика OAuth) Создание нового или использование поставщика OAuth
Имя Отображаемое имя поставщика удостоверений B2C. Это имя отображается для пользователей в качестве параметра поставщика при входе
Тип маркера JSON Web Token

Параметры политики OAuth

Свойства Описание
Область Не указывайте. Область OpenID для входа пользователей добавляется автоматически.
Тип предоставления разрешения Код авторизации
Enable OpenID Connect (Включение OpenID Connect) Выберите параметр для передачи клиента OAuth APM в режим OIDC
Flow type (Тип потока) Код авторизации

Параметры поставщика OAuth

Следующий URI OpenID ссылается на конечную точку метаданных, используемую клиентами OIDC для обнаружения сведений о поставщике удостоверений, таких как смена сертификата подписи.

  1. Найдите конечную точку метаданных для клиента B2C Azure AD. Переход к Регистрация приложений>Конечные точки.
  2. Скопируйте URI документа метаданных Azure AD B2C OpenID Connect. Например, https://wacketywackb2c .b2clogin.com/<tenantname>.onmicrosoft.com/<policyname>/v2.0/.well-known/openid-configuration.
  3. Обновите URI, указав свойства https://<tenantname>.b2clogin.com/WacketywackB2C.onmicrosoft.com/B2C_1_SignUpIn/v2.0/.well-known/openid-configuration.
  4. Вставьте URI в браузер.
  5. Просмотрите метаданные OIDC для клиента B2C Azure AD.
Свойство Описание
Аудитория Идентификатор клиента приложения, представляющий BIG-IP в клиенте B2C Azure AD
Authentication URI (URI для проверки подлинности) Конечная точка авторизации в метаданных B2C OIDC
Token URI (URI маркера) Конечная точка маркера в метаданных Azure AD B2C
Userinfo request URI (URI запроса Userinfo) Оставьте пустым. Azure AD B2C не поддерживает эту функцию
OpenID URI (URI для OpenID) Созданная конечная точка метаданных URI OpenID
Ignore expired certificate validation (Пропустить проверку сертификата с истекшим сроком действия) Не устанавливайте флажок
Allow self-signed JWK config certificate (Разрешить самозаверяющий сертификат конфигурации JWK) Проверить
Trusted CA bundle (Набор сертификатов доверенного ЦС) Выберите ca-bundle.crt, чтобы использовать сертификаты, выданные доверенными центрами F5 по умолчанию
Интервал обнаружения Укажите интервал для BIG-IP для запроса обновлений Azure AD клиента B2C. Минимальный интервал в AGC версии 16.1 0.0.19 составляет 5 минут.

Параметры сервера OAuth

Для сервера авторизации OIDC— Azure AD клиента B2C.

Свойство Описания
ИД клиента Идентификатор клиента приложения, представляющий BIG-IP в клиенте Azure AD B2C.
Секрет клиента Секрет клиента приложения
Client-server SSL profile (Профиль SSL "клиент — сервер") Настройте профиль SSL, чтобы убедиться, что APM взаимодействует с Azure AD поставщиком удостоверений B2C по протоколу TLS. Выберите serversl по умолчанию.

Параметры запроса OAuth

BIG-IP требует Azure AD запросов B2C в предварительно настроенном наборе запросов. Однако запросы были неправильно сформированы и в ней отсутствуют важные параметры. Поэтому мы создали их вручную.

Запрос маркера: включено

Свойство Описание
Choose OAuth request (Выбор запроса OAuth) Создание
Метод HTTP POST
Enable headers (Включить заголовки) Флажок снят.
Enable parameters (Включить параметры) Флажок установлен
Параметр Имя параметра Значение параметра
client_id client_id Н/Д
nonce nonce Н/Д
redirect_uri redirect_uri Н/Д
scope scope Н/Д
response_type response_type Н/Д
client_secret client_secret Н/Д
custom grant_type authorization_code

Запрос перенаправления проверки подлинности: включено

Свойство Описание
Choose OAuth request (Выбор запроса OAuth) Создание
Метод HTTP GET
Тип запроса Нет
Enable headers (Включить заголовки) Флажок снят.
Enable parameters (Включить параметры) Флажок установлен
Параметр Имя параметра Значение параметра
client_id client_id Н/Д
redirect_uri redirect_uri Н/Д
response_type response_type Н/Д
scope scope Н/Д
nonce nonce Н/Д

Запрос на обновление маркера: отключено . При необходимости можно включить и настроить.

Запрос OpenID UserInfo: отключено Не поддерживается в глобальных клиентах B2C Azure AD.

Свойства виртуального сервера

Создайте виртуальный сервер BIG-IP для перехвата запросов внешних клиентов к внутренней службе, защищенной безопасным гибридным доступом. Назначьте виртуальному серверу IP-адрес, сопоставленный с общедоступной записью DNS для конечной точки службы BIG-IP, представляющей приложение. Используйте виртуальный сервер, если он доступен, в противном случае укажите следующие свойства.

Свойство Описание
Адрес назначения Частный или общедоступный IP-адрес, который становится конечной точкой службы BIG-IP для внутреннего приложения.
Порт службы HTTPS
Enable redirect port (Включить порт перенаправления) Выберите , чтобы пользователи автоматически перенаправлялись с http на https
Redirect port (Порт перенаправления) HTTP
Client SSL profile (Профиль SSL клиента) Замените стандартный clientssl профиль на тот, который содержит SSL-сертификат. Вы можете выполнить тестирование с помощью профиля по умолчанию. но, скорее всего, это приведет к оповещению браузера.

Свойства пула

Внутренние службы отображаются в BIG-IP в виде пула с одним или несколькими серверами приложений, на которые виртуальные серверы направляют входящий трафик. Выберите пул, в противном случае создайте новый.

Свойство Описание
Метод балансировки нагрузки Выбор циклического перебора
Pool server (Сервер пула) Внутренний IP-адрес внутреннего приложения
Port Порт службы серверного приложения

Примечание

Убедитесь, что big-IP имеет прямую видимость адреса сервера пула.

Параметры единого входа

BIG-IP поддерживает параметры единого входа, но в режиме клиента OAuth интерактивная конфигурация ограничена kerberos или заголовками HTTP. Включите единый вход и используйте следующие сведения для APM, чтобы сопоставить определенные входящие атрибуты с исходящими заголовками.

Свойство Описание
Header Operation (Операция заголовка) Вставить
Имя заголовка name
Значение заголовка %{session.oauth.client.last.id_token.name}
Header Operation (Операция заголовка) Вставить
Имя заголовка agentid
Значение заголовка %{session.oauth.client.last.id_token.extension_AgentGeo}

Примечание

Переменные сеанса APM в фигурных скобках чувствительны к регистру. Ввод agentid, когда имя атрибута Azure AD B2C отправляется как AgentID, вызывает сбой сопоставления атрибутов. Определите атрибуты в нижнем регистре. В Azure AD B2C поток пользователя запрашивает дополнительные атрибуты, используя имя атрибута на портале. Поэтому используйте регистр предложения вместо нижнего регистра.

Снимок экрана: параметры единого входа, включая тип и заголовки.

Свойства настройки

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

В текстовом поле Заголовок формы замените F5 Networks строку нужным именем.

Свойства управления сеансом

Используйте параметры управления сеансами BIG-IP, чтобы определить условия, которые завершают сеансы или разрешают их продолжение. Установите ограничения для пользователей и IP-адресов, а также страниц ошибок. Мы рекомендуем реализовать единый выход (SLO), который безопасно завершает сеансы, снижая риски несанкционированного доступа.

Параметры развертывания

Выберите Развернуть , чтобы зафиксировать параметры и создать объекты BIG-IP и APM для безопасного гибридного доступа к приложению. Приложение отображается как целевой ресурс в условном доступе. Для повышения безопасности блокируйте прямой доступ к приложению, тем самым применяя путь через BIG-IP.

Дополнительные сведения: Защита идентификации и условный доступ для Azure AD B2C

Тестирование потока регистрации при входе

  1. В качестве пользователя перейдите по внешнему URL-адресу приложения.
  2. Откроется страница входа клиента OAuth BIG-IP.
  3. Выполните вход с помощью предоставления кода авторизации. Чтобы удалить этот шаг, см. раздел Дополнительные конфигурации .
  4. Зарегистрируйтесь и выполните проверку подлинности в клиенте B2C Azure AD.

На следующих изображениях представлены диалоговое окно входа пользователя и страница приветствия для входа.

Снимок экрана: диалоговое окно входа пользователя.

Снимок экрана: страница приветствия для входа.

Для повышения безопасности блокируйте прямой доступ к приложению, тем самым применяя путь через BIG-IP.

Дополнительные конфигурации

Единый выход из системы (SLO)

Azure AD B2C поддерживает поставщик удостоверений (IdP) и выход приложения. См. раздел Единый выход.

Чтобы достичь SLO, включите функцию выхода приложения, чтобы вызвать конечную точку выхода Azure AD B2C. Затем Azure AD B2C выдает окончательное перенаправление на BIG-IP. Это действие гарантирует завершение сеанса APM приложения пользователя.

Альтернативным процессом SLO является включение BIG-IP для прослушивания запроса при нажатии кнопки выхода приложений. При обнаружении запроса он вызывает конечную точку выхода Azure AD B2C. Такой подход исключает внесение изменений в приложение.

Дополнительные сведения о big-IP iRules см. в статье support.f5.com для K42052145: настройка автоматического завершения сеанса (выхода) на основе имени файла, на который ссылается URI.

Примечание

Независимо от подхода убедитесь, что клиент Azure AD B2C знает конечную точку выхода APM.

  1. На портале перейдите к разделу Управление манифестом>.
  2. Найдите свойство logoutUrl. Он считывает значение NULL.
  3. Добавьте универсальный код ресурса (URI) после выхода APM: https://<mysite.com>/my.logout.php3

Примечание

<mysite.com> — полное доменное имя BIG-IP для приложения на основе заголовков.

Оптимизированный поток входа

Чтобы улучшить процесс входа пользователя, подавляйте запрос на вход пользователя OAuth, который отображается перед Microsoft Entra предварительной проверки подлинности.

  1. Перейдите в раздел Доступ> кинтерактивной конфигурации.

  2. В правой части строки щелкните значок замка .

  3. Приложение на основе заголовков разблокирует строгую конфигурацию.

    Снимок экрана: входные данные для состояния, имени и типа; также значок замка.

Разблокировка строгой конфигурации предотвращает изменения в пользовательском интерфейсе мастера. Объекты BIG-IP связаны с опубликованным экземпляром приложения и открыты для прямого управления.

  1. Перейдите в раздел Профили доступа>/ Политики>Профили доступа (политики для сеанса).

  2. Для объекта политики приложения в столбце Политика сеанса выберите Изменить.

    Снимок экрана: параметр

  3. Чтобы удалить объект политики OAuth Logon Page , выберите X.

  4. В командной строке подключитесь к предыдущему узлу.

    Снимок экрана: параметр X объекта политики OAuth Logon Page.

  5. В левом верхнем углу выберите Применить политику доступа.

  6. Закройте вкладку редактора визуальных элементов.

При попытке подключиться к приложению появляется страница входа Azure AD B2C.

Примечание

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

Устранение неполадок

Если доступ к защищенному приложению запрещен, используйте следующие рекомендации по устранению неполадок.

Детализация журнала

Журналы BIG-IP содержат сведения для выявления проблем с проверкой подлинности и единым входом. Увеличьте уровень детализации журнала.

  1. Перейдите к разделу Политика доступа>Обзор>Журналы событий>Параметры.
  2. Выберите строку для опубликованного приложения, а затем — Изменить>Access System Logs (Доступ к системным журналам).
  3. В списке единый вход выберите Отладка.
  4. Щелкните ОК.
  5. Перед просмотром журналов воспроизведите проблему.

По завершении отменить изменения предыдущие параметры.

Сообщение об ошибке BIG-IP

Если после Azure AD проверки подлинности B2C вы видите сообщение об ошибке BIG-IP, проблема может быть связана с единым входом из Microsoft Entra идентификатора в BIG-IP.

  1. Выберите Доступ>Обзор>Access reports (Отчеты о доступе).
  2. Запуск отчета за последний час
  3. Просмотрите журналы на наличие подсказок.
  4. Щелкните ссылку Просмотреть переменные сеанса .
  5. Определите, получает ли APM ожидаемые утверждения Microsoft Entra.

Сообщение об ошибке BIG-IP отсутствует

Если сообщение об ошибке BIG-IP не отображается, проблема может быть связана с запросом серверной части или единым входом из BIG-IP в приложение.

  1. Выберите Политика доступа>Обзор>Активные сеансы.
  2. Щелкните ссылку для активного сеанса.
  3. Щелкните ссылку Просмотреть переменные .
  4. Проверьте, чтобы определить первопричину, особенно если APM BIG-IP получает неточные атрибуты сеанса.
  5. Используйте журналы приложений, чтобы понять, получили ли атрибуты в виде заголовков.

Известная проблема с интерактивной конфигурацией версии 8

При использовании интерактивной конфигурации версии 8 известная проблема вызывает следующую ошибку после успешного Azure AD аутентификации B2C. Проблема может заключаться в том, что AGC не включает параметр Auto JWT во время развертывания. APM не может получить текущие ключи подписывания маркеров. Инженеры F5 исследуют первопричину.

Снимок экрана: сообщение об ошибке об отказе в доступе.

В том же журнале доступа содержатся подробные сведения.

Снимок экрана: сведения о сообщении журнала.

Включение параметра вручную

  1. Перейдите в раздел Доступ> кинтерактивной конфигурации.
  2. В правой части строки приложения на основе заголовков выберите замок.
  3. Перейдите к разделу Access Federation>OAuth Client/Resource Server Providers (Поставщики клиента или сервера> ресурсовOAuth федерации>).
  4. Выберите поставщика для конфигурации Azure AD B2C.
  5. Установите флажок Использовать автоматический JWT .
  6. Выберите Обнаружение.
  7. Щелкните Сохранить.
  8. Поле Ключ (JWT) содержит идентификатор ключа сертификата для подписи маркера (KID) из метаданных URI OpenID.
  9. В левом верхнем углу выберите Применить политику доступа.
  10. Нажмите кнопку Применить.

Дополнительные сведения см. в techdocs.f5.com советы по устранению неполадок с клиентом OAuth и сервером ресурсов.