Глобальная платформа удостоверений Azure Active Directory B2C
Azure Active Directory B2C — это решение для управления доступом к удостоверениям клиентов (CIAM), которое поддерживает миллионы пользователей и миллиарды проверок подлинности в день. Это решение отвечает за масштабирование и безопасность платформы проверки подлинности, мониторинг и автоматическую реакцию на разные угрозы, такие как атаки методами отказа в обслуживании, распыления паролей подбора.
Azure Active Directory B2C (Azure AD B2C) — это отдельная служба, не связанная с идентификатором Microsoft Entra. Он основан на той же технологии, что и Microsoft Entra ID, но для другой цели. Это позволяет предприятиям создавать приложения для клиентов, а затем самостоятельно регистрироваться в приложениях.
Azure AD B2C является глобально распределенной службой, состоящей из нескольких компонентов:
Directory
При создании решения Azure AD B2C необходимо указать расположение для размещения службы. Это расположение относится только к региону, в котором будут храниться данные профиля пользователя, а остальная часть службы, обрабатывающей вход, выполняется глобально.
Обычно клиент Azure AD B2C развертывается в регионе, ближайшем к вашей базе пользователей. Это упрощает соблюдение законов о местонахождении данных, так как профиль пользователя реплицируется только в выбранном регионе. Это также обеспечивает наилучшую производительность во время входа, так как сетевые задержки оптимизированы для хранилища каталогов.
Если каталогУ B2C Azure AD требуется обслуживать пользователей по всему миру, региональная структура представляет собой проблему. Необходимо определить расположение для создания Azure AD клиента B2C. Пользователи за пределами выбранного региона могут не соответствовать требованиям к месту расположения данных, а также могут столкнуться с повышенной задержкой при проверке учетных данных или чтении данных профиля пользователя.
Например, рассмотрим приложение, которое поддерживает пользователей в Австралии и Северная Америка, а Azure AD каталог B2C создается в регионе Северная Америка. Пользователи, выполняющие вход из Австралии, могут столкнуться с более длительным временем обработки для завершения проверки подлинности.
Чтобы лучше соответствовать требованиям к месту расположения данных и устранять проблемы с производительностью, необходимо развернуть несколько клиентов Azure AD B2C. Размещая клиент в каждом регионе, где работает ваша компания, операции в каталоге оптимизируются с учетом задержки. Тем не менее, таким образом решение создает другие издержки для настройки, администрирования и защиты этих конфиденциальных ресурсов клиента в каждом регионе. К другим издержкам относятся:
Администрирование клиента
Изоляция клиента приводит к тому, что конечный пользователь не чувствует себя глобальным
Выставление счетов
Процессы CI/CD для управления политиками, регистрациями приложений и ключами
В этом документе предлагаются архитектуры с Azure AD B2C, которые лучше всего подходит для клиентов, обслуживающих пользователей по всему миру. Решения выполняют следующие требования:
Пользователи могут поддерживать один и тот же набор учетных данных, независимо от того, откуда они обращаются к приложениям.
Согласованная производительность и задержка независимо от того, откуда пользователи проходят проверку подлинности.
Упростите клиентам доставку процессов, платформ или пакетов SDK в команды разработчиков с минимальной необходимой конфигурацией.
Профили пользователей могут поддерживаться во время перемещения пользователей по всему миру. Это создает больше значения в аналитике, созданной при взаимодействии пользователей в любой службе.
Данные пользователя клиента хранятся в региональных хранилищах данных.
Ниже приведены два подхода, которые следует учитывать при реализации платформы удостоверений с использованием Azure AD клиентов B2C для глобально работающей бизнес-модели.
В первом подходе в качестве границы используются географические регионы, а приложения настраиваются специально для этого региона.
Второй подход имеет глобальную границу для приложений и использует дополнительный Azure AD клиента B2C для оркестрации взаимодействия между региональными клиентами.
Оркестрация регионального клиента
В этой модели приложения либо размещаются по регионам, либо имеют конфигурации для каждого региона для подключения к региональному клиенту. Приложения напрямую отправляют пользователя в клиент для конкретного региона. Обмен данными между клиентами используется для выполнения проверки подлинности между клиентами или обновления профилей между клиентами, когда пользователь, возможно, путешествовал в другой регион.
Оркестрация клиента воронки
В этой модели клиент Azure AD B2C направляет пользователей в региональные клиенты Azure AD B2C. Клиент воронки функционирует как оркестратор перенаправления в другие Azure AD клиентов B2C. Это обрабатывается глобально распределенным компонентом службы Azure AD B2C, поэтому производительность не влияет. Это перенаправление выполняется с помощью федераций поставщиков удостоверений OpenId Connect.
Обмен данными между клиентами используется для выполнения проверки подлинности между клиентами или обновления профилей между клиентами. Клиент воронки предоставляет приложениям единую конечную точку для взаимодействия.
Для архитектуры, после которых вы решили смоделировать решение, необходимо сделать выбор на основе компромиссов между двумя описанными моделями. Например, воронкообразная модель позволяет поддерживать один экземпляр приложений. В следующем разделе описываются возможности, критерии выбора и производительность, которые могут повлиять на выбранную вами структуру.
Возможности и рекомендации
В следующей таблице описаны возможности, предоставляемые при использовании региональной и воронкообразной архитектуры.
Функция | На основе регионов | На основе воронки |
---|---|---|
Поддерживает регистрацию и вход в локальную учетную запись. | ||
Поддерживает регистрацию и вход в федеративную учетную запись. | ||
Поддерживает проверку подлинности локальных учетных записей для пользователей, выполняющих вход из-за пределов зарегистрированного региона. | ||
Поддерживает проверку подлинности федеративных учетных записей для пользователей, выполняющих вход из-за пределов зарегистрированного региона, с помощью поиска на основе МЕЖтенантного API | ||
Запрещает регистрацию из нескольких регионов | ||
Приложения в каждом регионе имеют набор конечных точек для подключения | ||
Все приложения подключаются к одному набору конечных точек независимо от того, в каком регионе они размещены. | ||
Поддерживает детализированные политики условного доступа. | ||
Оптимизировано для затрат. |
В зависимости от возможностей необходимо учитывать следующие факторы.
При использовании подхода на основе регионов основное внимание заключается в том, что он требует, чтобы приложения, охватывающие несколько регионов, имели соответствующие конфигурации для каждого регионального клиента Azure AD B2C.
При использовании подхода на основе воронки
Стоимость двойного токена
Появилось дополнительное перенаправление HTTP.
Личные домены требуются во многих клиентах
Условный доступ применяется на уровне клиента, а не на уровне приложения.
Единый выход через несколько поставщиков удостоверений может привести к проблемам
Выбранный подход будет основываться на количестве приложений, которые вы размещаете, и конкретных требованиях к доступу к приложениям.
Производительность
Преимуществом производительности использования нескольких клиентов в региональной конфигурации или конфигурации на основе воронки будет повышение производительности по сравнению с одним клиентом Azure AD B2C для глобально работающих предприятий.
При использовании подхода на основе воронки клиент воронки находится в одном определенном регионе и обслуживает пользователей глобально. Так как операция воронки клиентов использует глобальный компонент службы Azure AD B2C, она поддерживает согласованный уровень производительности независимо от того, откуда пользователи входят.
Как показано на приведенной выше схеме, клиент Azure AD B2C в подходе на основе воронки будет использовать обработчик политик только для перенаправления в региональные Azure AD клиентов B2C. Компонент обработчика политик B2C Azure AD глобально распределен. Таким образом, воронка не ограничена с точки зрения производительности, независимо от того, где подготовлен клиент воронки Azure AD B2C. Снижение производительности происходит из-за дополнительного перенаправления между воронкообразными и региональными клиентами в подходе на основе воронки.
При подходе на основе региона, так как каждый пользователь направляется на наиболее локальные Azure AD B2C, производительность для всех пользователей, войдя в систему, согласована.
Региональные клиенты будут выполнять вызовы каталогов в хранилище каталогов, которое является единственным региональным компонентом как в воронкообразной, так и в региональной архитектуре.
Дополнительная задержка возникает только в том случае, если пользователь выполнил проверку подлинности в другом регионе, в котором он зарегистрировался. Это связано с тем, что вызовы будут выполняться в разных регионах, чтобы получить доступ к хранилищу каталогов, где находится их профиль, для завершения проверки подлинности.
Дальнейшие действия
Azure AD глобальная идентификация B2C для региональной конфигурации
Azure AD конфигурации на основе воронки глобальной идентификации B2C
Создание решения для глобальной идентификации с использованием воронкообразного подхода
Создание глобального решения для идентификации с использованием подхода на основе регионов