Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
В этом руководстве описано, как интегрировать Azure Active Directory B2C (Azure AD B2C) с Strata Maverics Identity Orchestrator, что помогает защитить локальные приложения. Он подключается к системам удостоверений, переносит пользователей и учетные данные, синхронизирует политики и конфигурации, а также абстрагирует проверку подлинности и управление сеансами. Используйте Strata для перехода с устаревших версий в Azure AD B2C без перезаписи приложений.
Это решение имеет следующие преимущества:
-
Единый вход клиента в локальные гибридные приложения — Azure AD B2C поддерживает единый вход клиента с помощью Maverics Identity Orchestrator
- Пользователи входят с учетными записями, управляемыми в Azure AD B2C или у поставщика удостоверений (IdP)
- Maverics подтверждает единый вход в приложения, исторически защищенные устаревшими системами удостоверений, такими как Symantec SiteMinder
- Расширьте стандарты единого входа в приложения - Используйте Azure AD B2C для управления доступом пользователей и включения единого входа с помощью Maverics Identity Orchestrator, используя Security Assertion Markup Language (SAML) или OpenID Connect (OIDC) коннекторы
- Простая конфигурация — подключение соединителей SAML или OIDC Maverics Identity Orchestrator к Azure AD B2C
Предпосылки
Чтобы приступить к работе, потребуется следующее.
подписка Azure
- Если у вас ее нет, получите бесплатную учетную запись Azure.
- Клиент Azure AD B2C, связанный с подпиской Azure
- Экземпляр Azure Key Vault для хранения секретов, используемых Maverics Identity Orchestrator. Подключитесь к Azure AD B2C или другим поставщикам атрибутов, таким как каталог или база данных протокола LDAP.
- Экземпляр Оркестратора удостоверений Maverics, работающий на виртуальной машине Azure или локальном сервере. Чтобы получить программное обеспечение и документацию, перейдите к strata.io Contact Strata Identity.
- Локальное приложение для перехода в Azure AD B2C
Описание сценария
Интеграция Maverics Identity Orchestrator включает следующие компоненты:
-
Azure AD B2C — сервер авторизации, проверяющий учетные данные пользователя
- Прошедшие проверку подлинности пользователи получают доступ к локальным приложениям с помощью локальной учетной записи в каталоге Azure AD B2C
- Внешний социальный или корпоративный провайдер идентичности (IdP): OIDC-провайдер, Facebook, Google или GitHub
- Strata Maverics Identity Orchestrator: служба входа пользователя, которая передает удостоверение приложениям через заголовки HTTP
На следующей схеме архитектуры показана реализация.
- Пользователь запрашивает доступ к локально размещённому приложению. Maverics Identity Orchestrator перенаправляет запрос к приложению.
- Оркестратор проверяет состояние аутентификации пользователя. Если маркер сеанса отсутствует или маркер недопустим, пользователь переходит в Azure AD B2C для проверки подлинности.
- Azure AD B2C отправляет запрос аутентификации настроенному социальному поставщику удостоверений.
- Поставщик удостоверений личности запрашивает у пользователя учетные данные. Может потребоваться многофакторная проверка подлинности (MFA).
- IdP отправляет ответ проверки подлинности в Azure AD B2C. Пользователь может создать локальную учетную запись в каталоге Azure AD B2C.
- Azure AD B2C отправляет запрос пользователя в конечную точку, указанную во время регистрации приложения Orchestrator в клиенте Azure AD B2C.
- Orchestrator оценивает политики доступа и значения атрибутов для заголовков HTTP, перенаправленных в приложение. Оркестратор может вызывать других поставщиков атрибутов для получения сведений, необходимых для задания значений заголовков. Оркестратор отправляет запрос приложению.
- Пользователь проходит проверку подлинности и имеет доступ к приложению.
Оркестратор идентификации Maverics
Чтобы получить программное обеспечение и документацию, перейдите к strata.io Contact Strata Identity. Определите предварительные требования Orchestrator. Установка и настройка.
Настройка клиента Azure AD B2C
Во время выполнения следующих инструкций фиксируйте:
- Имя и идентификатор клиента
- Идентификатор клиента
- Секрет клиента
- Настроенные утверждения
- Перенаправляющий URI
- Зарегистрируйте веб-приложение в Azure Active Directory B2C в клиенте Azure AD B2C.
- Предоставьте приложениям разрешения API Microsoft MS Graph. Использование разрешений:
offline_access,openid. - Добавьте URI перенаправления, соответствующий
oauthRedirectURLпараметру конфигурации соединителя Orchestrator Azure AD B2C, напримерhttps://example.com/oidc-endpoint. - Создание потоков пользователей и настраиваемых политик в Azure Active Directory B2C.
- Добавьте поставщика удостоверений в тенант Azure Active Directory B2C. Войдите в систему с помощью локальной учетной записи, социальной сети или предприятия.
- Определите атрибуты, собираемые во время регистрации.
- Укажите атрибуты, которые должны быть возвращены приложению через экземпляр Orchestrator.
Замечание
Orchestrator использует атрибуты из утверждений, возвращаемых Azure AD B2C, и может извлекать атрибуты из подключенных систем удостоверений, таких как каталоги LDAP и базы данных. Эти атрибуты находятся в заголовках HTTP и отправляются в вышестоящее локальное приложение.
Настройка Maverics Identity Orchestrator
Используйте инструкции в следующих разделах, чтобы настроить экземпляр Orchestrator.
Требования к серверу Maverics Identity Orchestrator
Экземпляр Orchestrator можно запустить на любом сервере, будь то локальная или общедоступная облачная инфраструктура у таких провайдеров, как Azure, AWS или GCP.
- Операционная система: RHEL 7.7 или более поздней версии
- Диск: 10 ГБ (небольшой)
- Память: 16 ГБ
- Порты: 22 (SSH/SCP), 443, 80
- Корневой доступ: для задач установки и администрирования
-
Maverics Identity Orchestrator: выполняется от имени пользователя
mavericssystemd - Исходящий трафик сети: с сервера, на котором размещен Maverics Identity Orchestrator и который может подключаться к вашей учетной записи Microsoft Entra.
Установите Maverics Identity Orchestrator
Получите последний пакет Maverics RPM.
Разместите пакет на систему, куда вы хотите установить Maverics. При копировании на удаленный узел используйте SSH scp.
Выполните следующую команду. Используйте ваше имя файла, чтобы заменить
maverics.rpm.sudo rpm -Uvf maverics.rpmПо умолчанию Maverics находится в каталоге
/usr/local/bin.Maverics функционирует в качестве службы под
systemd.Чтобы проверить, запущена служба Maverics, выполните следующую команду:
sudo service maverics statusПоявится следующее сообщение (или аналогичное).
Redirecting to /bin/systemctl status maverics.service
maverics.service - Maverics
Loaded: loaded (/etc/systemd/system/maverics.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-08-13 16:48:01 UTC; 24h ago
Main PID: 330772 (maverics)
Tasks: 5 (limit: 11389)
Memory: 14.0M
CGroup: /system.slice/maverics.service
└─330772 /usr/local/bin/maverics --config /etc/maverics/maverics.yaml
Замечание
Если Maverics не удается запустить, выполните следующую команду:
journalctl --unit=maverics.service --reverse
Последняя запись журнала отображается в выходных данных.
- Файл по умолчанию
maverics.yamlсоздается в каталоге/etc/maverics. - Настройте Оркестратор для защиты приложения.
- Интеграция с Azure AD B2C и хранилищем.
- Получение секретов из Azure Key Vault.
- Определите расположение, из которого оркестратор считывает свою конфигурацию.
Настройка предоставления с помощью переменных среды
Настройте экземпляры Orchestrator с помощью переменных среды.
MAVERICS_CONFIG
Эта переменная среды сообщает экземпляру Orchestrator о том, какие файлы конфигурации YAML следует использовать, и где их найти во время запуска или перезапуска. Задайте переменную среды в /etc/maverics/maverics.env.
Создайте конфигурацию TLS для Orchestrator
Поле tls в maverics.yaml задает конфигурации безопасности транспортного уровня, которые использует ваш экземпляр Orchestrator. Соединители используют объекты TLS и сервер Orchestrator.
Ключ maverics зарезервирован для сервера Orchestrator. Используйте другие ключи для внедрения объекта TLS в соединитель.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Настройка соединителя Azure AD B2C
Оркестраторы используют соединители для интеграции с поставщиками аутентификации и атрибутов. Шлюз приложений Orchestrators использует соединитель Azure AD B2C в качестве поставщика проверки подлинности и атрибутов. Azure AD B2C использует социальный поставщик идентификации для аутентификации, а затем предоставляет атрибуты Оркестратору, передавая их в виде утверждений, установленных в заголовках HTTP.
Конфигурация коннектора соответствует приложению, зарегистрированному в клиенте Azure AD B2C.
- Скопируйте идентификатор клиента, секрет клиента и URI перенаправления в ваш арендатор.
- Введите имя соединителя (например
azureADB2C, ). - Установите соединитель
typeкакazure. - Запишите имя соединителя. Это значение будет использоваться в других параметрах конфигурации.
- Задайте для
authTypeзначениеoidc. -
oauthClientIDДля параметра задайте скопированный идентификатор клиента. -
oauthClientSecretДля параметра задайте скопированный секрет клиента. -
oauthRedirectURLДля параметра задайте скопированный URI перенаправления. - Соединитель OIDC Azure AD B2C использует конечную точку OIDC для обнаружения метаданных, включая URL-адреса и ключи подписывания. Для конечной точки клиента используйте
oidcWellKnownURL.
connectors:
name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
Определите Azure AD B2C как поставщика аутентификации
Поставщик проверки подлинности осуществляет аутентификацию для пользователей, у которых нет действительного сеанса во время запроса к ресурсу приложения. Конфигурация клиента Azure AD B2C определяет, как пользователи предъявляют учетные данные, и применяет другие правила аутентификации. Примером может быть требование второго фактора для завершения аутентификации и определение того, что возвращается в шлюз приложений Orchestrator после завершения этой процедуры.
Значение для authProvider должно соответствовать значению соединителя name.
authProvider: azureADB2C
Защита локальных приложений с помощью шлюза приложений Orchestrator
Конфигурация Шлюза приложений Orchestrator объявляет, как Azure AD B2C защищает приложение и как пользователи получают доступ к приложению.
- Введите имя шлюза приложений.
- Задайте
location. В примере используется корневой каталог/приложения. - Определите защищенное приложение в
upstream. Используйте соглашение host:port:https://example.com:8080. - Задайте значения для страниц ошибок и несанкционированных страниц.
- Определите имена заголовков HTTP и значения атрибутов для приложения, чтобы установить проверку подлинности и управление. Имена заголовков обычно соответствуют конфигурации приложения. Значения атрибутов пространственно распределяются с помощью соединителя. В примере значения, возвращаемые из Azure AD B2C, префиксируются именем
azureADB2Cсоединителя. Суффикс — это имя атрибута с обязательным значением, напримерgiven_name. - Установите политику. Определены три действия:
allowUnauthenticated,allowAnyAuthenticatedиallowIfAny. Каждое действие связано сresource. Политика оценивается для этогоresource.
Замечание
headers и policies используют расширения для JavaScript или GoLang, чтобы реализовать произвольную логику.
appgateways:
- name: Sonar
location: /
upstream: https://example.com:8080
errorPage: https://example.com:8080/sonar/error
unauthorizedPage: https://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Azure Key Vault в качестве поставщика секретов
Защитите секреты, используемые Orchestrator для подключения к Azure AD B2C и другим системам удостоверений. Maverics загружает секреты в открытом виде из maverics.yaml, однако в этом руководстве используйте Azure Key Vault в качестве поставщика секретов.
Следуйте инструкциям из Быстрый старт: Настройка и получение секрета из Azure Key Vault с помощью портала Azure. Добавьте секреты в хранилище и отметьте SECRET NAME для каждого секрета. Например: AzureADB2CClientSecret.
Чтобы объявить значение в виде секрета в maverics.yaml файле конфигурации, заключите секрет с угловыми скобками:
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
Значение в угловых скобках должно соответствовать SECRET NAME заданному секрету в Azure Key Vault.
Чтобы загрузить секреты из Azure Key Vault, задайте переменную MAVERICS_SECRET_PROVIDER среды в файле /etc/maverics/maverics.envс учетными данными, найденными в файле azure-credentials.json. Используйте следующий шаблон:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Завершение настройки
В следующих сведениях показано, как отображается конфигурация Orchestrator.
version: 0.4.2
listenAddress: ":443"
tls:
maverics:
certFile: certs/maverics.crt
keyFile: certs/maverics.key
authProvider: azureADB2C
connectors:
- name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
appgateways:
- name: Sonar
location: /
upstream: http://example.com:8080
errorPage: http://example.com:8080/sonar/accessdenied
unauthorizedPage: http://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Проверка потока
- Перейдите по URL-адресу
https://example.com/sonar/dashboardлокального приложения. - Оркестратор перенаправляет на страницу потока пользователя.
- В списке выберите поставщика удостоверений личности (IdP).
- Введите учетные данные, включая токен MFA, если это требуется поставщиком удостоверений.
- Вы перенаправляетесь на Azure AD B2C, который затем передает запрос приложения на URI перенаправления Orchestrator.
- Оркестратор оценивает политики и рассчитывает заголовки.
- Появится запрошенное приложение.