Руководство. Включение безопасного гибридного доступа для приложений с помощью 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
Предварительные требования
Для начала работы необходимы перечисленные ниже компоненты и данные.
- Подписка Azure
- Если у вас ее нет, получите бесплатную учетную запись Azure.
- Клиент Azure AD B2C, связанный с подпиской Azure
- Big-IP или развернутая пробная виртуальная среда BIG-IP в Azure
- Любая из следующих лицензий F5 BIG-IP:
- Пакет F5 BIG-IP® Best
- Отдельная лицензия F5 BIG-IP Access Policy Manager™ (APM)
- Лицензия на надстройку F5 BIG-IP Policy Manager™ для big-IP F5 BIG-IP® Local Traffic Manager™ (LTM)
- 90-дневная лицензия на полную пробную версию BIG-IP.
- Веб-приложение на основе заголовков или приложение IIS для тестирования
- SSL-сертификат для публикации служб по протоколу HTTPS или использования по умолчанию при тестировании
- См. раздел Профиль SSL.
Описание сценария
Следующий сценарий основан на заголовках, но вы можете использовать эти методы для обеспечения единого входа 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 перед единым входом на основе заголовков в серверную службу.
На следующей схеме показан поток, инициированный поставщиком услуг для этого сценария.
- Пользователь подключается к конечной точке приложения. BIG-IP — это поставщик услуг.
- Клиент BIG-IP APM OIDC перенаправляет пользователя на конечную точку клиента B2C Azure AD, сервер авторизации OIDC.
- Azure AD клиент B2C предварительно проверяет подлинность пользователя и применяет политики условного доступа.
- Azure AD B2C перенаправляет пользователя обратно к поставщику услуг с помощью кода авторизации.
- Клиент OIDC запрашивает сервер авторизации обменять код авторизации на маркер идентификации.
- BIG-IP APM предоставляет пользователю доступ и внедряет заголовки HTTP в клиентский запрос, направленный в приложение.
Конфигурация Azure Active Directory B2C
Чтобы включить BIG-IP с Azure AD проверкой подлинности B2C, используйте клиент Azure AD B2C с потоком пользователя или настраиваемой политикой.
См. учебник. Создание пользовательских потоков и настраиваемых политик в Azure AD B2C
Создание настраиваемых атрибутов
Получение настраиваемых атрибутов из Azure AD объектов пользователя B2C, федеративных поставщиков удостоверений, соединителей API или регистрации пользователей. Включите атрибуты в маркер, который передается в приложение.
Устаревшие приложения ожидают определенных атрибутов, поэтому включите их в поток пользователя. Вы можете заменить их атрибутами, которые требуются приложению. Если вы настраиваете тестовое приложение с помощью инструкций, вы можете использовать все заголовки.
- Войдите в портал Azure с правами глобального администратора.
- На панели слева выберите Атрибуты пользователя.
- Выберите Добавить , чтобы создать два настраиваемых атрибута.
- В поле Идентификатор агента выберите Строковый тип данных.
- В поле Географическое расположение агента выберите Тип данных строки.
Добавление атрибутов в поток пользователя
- В меню слева перейдите к разделу Политики Потоки>пользователей.
- Выберите политику, например B2C_1_SignupSignin.
- Выберите Атрибуты пользователя.
- Добавьте оба настраиваемых атрибута.
- Добавьте атрибут Отображаемое имя . Эти атрибуты собираются во время регистрации пользователя.
- Выберите элемент Утверждения приложения.
- Добавьте оба настраиваемых атрибута.
- Добавьте отображаемое имя. Эти атрибуты отправляются в BIG-IP.
- Выберите Выполнить поток пользователя.
- В меню потока пользователя на панели навигации слева проверьте запросы для определенных атрибутов.
Дополнительные сведения: Учебник. Создание пользовательских потоков и настраиваемых политик в Azure AD B2C
Федерация Azure AD B2C
Федерация BIG-IP и Azure AD B2C для взаимного доверия. Зарегистрируйте BIG-IP в клиенте Azure AD B2C в качестве приложения OIDC.
- На портале выберите Регистрация приложений>Новая регистрация.
- Введите имя приложения, например HeaderApp1.
- В разделе Поддерживаемые типы учетных записей выберите элемент Accounts in any identity provider or organizational directory (for authenticating users with user flows) (Учетные записи в любом поставщике удостоверений или каталоге организации (для аутентификации пользователей с использованием сведений о маршрутах пользователей)).
- В разделе URI перенаправления выберите Интернет.
- Введите общедоступное полное доменное имя защищенной службы.
- Введите путь.
- Оставьте остальные выбранные значения.
- Выберите Зарегистрировать.
- Перейдите в раздел Секреты сертификатов&+ Новый секрет клиента.>
- Введите описательное имя
- Введите срок жизни для секрета, используемого BIG-IP.
- Обратите внимание на секрет клиента для конфигурации BIG-IP.
URI перенаправления — это конечная точка BIG-IP. После проверки подлинности сервер авторизации (Azure AD B2C) отправляет пользователей в конечную точку.
Дополнительные сведения: Руководство. Регистрация веб-приложения в Azure AD B2C для Azure AD B2C.
Конфигурация BIG-IP
Для конфигурации BIG-IP используйте интерактивную конфигурацию версии 7/8. Платформа рабочих процессов адаптирована для доступа к топологиям и позволяет быстро публиковать веб-службы.
Версия интерактивной конфигурации
- Чтобы подтвердить версию, войдите в веб-конфигурацию BIG-IP с учетной записью администратора.
- Перейдите в раздел Доступ> кинтерактивной конфигурации.
- Версия отображается в правом верхнем углу.
Чтобы обновить интерактивную конфигурацию, перейдите к 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.
Интерактивная конфигурация
- Чтобы запустить мастер развертывания, в веб-конфигурации перейдите в раздел Доступ> кинтерактивной конфигурации.
- Выберите FederationF5 (Федерация F5) в качестве клиента OAuth и сервера ресурсов.>
- Просмотрите сводку по потоку для этого сценария.
- Выберите Далее.
- Запустится мастер.
Свойства 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 для обнаружения сведений о поставщике удостоверений, таких как смена сертификата подписи.
- Найдите конечную точку метаданных для клиента B2C Azure AD. Переход к Регистрация приложений>Конечные точки.
- Скопируйте URI документа метаданных Azure AD B2C OpenID Connect. Например,
https://wacketywackb2c .b2clogin.com/<tenantname>.onmicrosoft.com/<policyname>/v2.0/.well-known/openid-configuration
. - Обновите URI, указав свойства
https://<tenantname>.b2clogin.com/WacketywackB2C.onmicrosoft.com/B2C_1_SignUpIn/v2.0/.well-known/openid-configuration
. - Вставьте URI в браузер.
- Просмотрите метаданные 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
Тестирование потока регистрации при входе
- В качестве пользователя перейдите по внешнему URL-адресу приложения.
- Откроется страница входа клиента OAuth BIG-IP.
- Выполните вход с помощью предоставления кода авторизации. Чтобы удалить этот шаг, см. раздел Дополнительные конфигурации .
- Зарегистрируйтесь и выполните проверку подлинности в клиенте 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.
- На портале перейдите к разделу Управление манифестом>.
- Найдите свойство
logoutUrl
. Он считывает значение NULL. - Добавьте универсальный код ресурса (URI) после выхода APM:
https://<mysite.com>/my.logout.php3
Примечание
<mysite.com>
— полное доменное имя BIG-IP для приложения на основе заголовков.
Оптимизированный поток входа
Чтобы улучшить процесс входа пользователя, подавляйте запрос на вход пользователя OAuth, который отображается перед Microsoft Entra предварительной проверки подлинности.
Перейдите в раздел Доступ> кинтерактивной конфигурации.
В правой части строки щелкните значок замка .
Приложение на основе заголовков разблокирует строгую конфигурацию.
Разблокировка строгой конфигурации предотвращает изменения в пользовательском интерфейсе мастера. Объекты BIG-IP связаны с опубликованным экземпляром приложения и открыты для прямого управления.
Перейдите в раздел Профили доступа>/ Политики>Профили доступа (политики для сеанса).
Для объекта политики приложения в столбце Политика сеанса выберите Изменить.
Чтобы удалить объект политики OAuth Logon Page , выберите X.
В командной строке подключитесь к предыдущему узлу.
В левом верхнем углу выберите Применить политику доступа.
Закройте вкладку редактора визуальных элементов.
При попытке подключиться к приложению появляется страница входа Azure AD B2C.
Примечание
При повторном включении строгого режима и развертывании конфигурации параметры, выполняемые за пределами пользовательского интерфейса интерактивной конфигурации, перезаписываются. Реализуйте этот сценарий, вручную создав объекты конфигурации для рабочих служб.
Устранение неполадок
Если доступ к защищенному приложению запрещен, используйте следующие рекомендации по устранению неполадок.
Детализация журнала
Журналы BIG-IP содержат сведения для выявления проблем с проверкой подлинности и единым входом. Увеличьте уровень детализации журнала.
- Перейдите к разделу Политика доступа>Обзор>Журналы событий>Параметры.
- Выберите строку для опубликованного приложения, а затем — Изменить>Access System Logs (Доступ к системным журналам).
- В списке единый вход выберите Отладка.
- Щелкните ОК.
- Перед просмотром журналов воспроизведите проблему.
По завершении отменить изменения предыдущие параметры.
Сообщение об ошибке BIG-IP
Если после Azure AD проверки подлинности B2C вы видите сообщение об ошибке BIG-IP, проблема может быть связана с единым входом из Microsoft Entra идентификатора в BIG-IP.
- Выберите Доступ>Обзор>Access reports (Отчеты о доступе).
- Запуск отчета за последний час
- Просмотрите журналы на наличие подсказок.
- Щелкните ссылку Просмотреть переменные сеанса .
- Определите, получает ли APM ожидаемые утверждения Microsoft Entra.
Сообщение об ошибке BIG-IP отсутствует
Если сообщение об ошибке BIG-IP не отображается, проблема может быть связана с запросом серверной части или единым входом из BIG-IP в приложение.
- Выберите Политика доступа>Обзор>Активные сеансы.
- Щелкните ссылку для активного сеанса.
- Щелкните ссылку Просмотреть переменные .
- Проверьте, чтобы определить первопричину, особенно если APM BIG-IP получает неточные атрибуты сеанса.
- Используйте журналы приложений, чтобы понять, получили ли атрибуты в виде заголовков.
Известная проблема с интерактивной конфигурацией версии 8
При использовании интерактивной конфигурации версии 8 известная проблема вызывает следующую ошибку после успешного Azure AD аутентификации B2C. Проблема может заключаться в том, что AGC не включает параметр Auto JWT во время развертывания. APM не может получить текущие ключи подписывания маркеров. Инженеры F5 исследуют первопричину.
В том же журнале доступа содержатся подробные сведения.
Включение параметра вручную
- Перейдите в раздел Доступ> кинтерактивной конфигурации.
- В правой части строки приложения на основе заголовков выберите замок.
- Перейдите к разделу Access Federation>OAuth Client/Resource Server Providers (Поставщики клиента или сервера> ресурсовOAuth федерации>).
- Выберите поставщика для конфигурации Azure AD B2C.
- Установите флажок Использовать автоматический JWT .
- Выберите Обнаружение.
- Щелкните Сохранить.
- Поле Ключ (JWT) содержит идентификатор ключа сертификата для подписи маркера (KID) из метаданных URI OpenID.
- В левом верхнем углу выберите Применить политику доступа.
- Нажмите кнопку Применить.
Дополнительные сведения см. в techdocs.f5.com советы по устранению неполадок с клиентом OAuth и сервером ресурсов.