Создание решения для глобальной идентификации на основе воронки
В этой статье описаны сценарии проектирования на основе воронки. Перед началом проектирования рекомендуется изучить возможности и производительность воронки и подхода к проектированию на основе регионов. Эта статья поможет определить, какой дизайн лучше всего подходит для вашей организации.
В проектах учитываются:
- Регистрация и вход в локальную учетную запись
- Регистрация и вход в федеративную учетную запись
- Проверка подлинности локальных учетных записей для пользователей, выполняющих вход из-за пределов зарегистрированного региона, поддерживается проверкой подлинности на основе API между клиентами
- Проверка подлинности федеративных учетных записей для пользователей, выполняющих вход из-за пределов зарегистрированного региона, поддерживается поиском на основе МЕЖтенантного API
- Запрещает регистрацию из нескольких регионов
- Приложения в каждом регионе имеют одну конечную точку для подключения
Варианты использования входа в локальную учетную запись
Следующие варианты использования являются типичными в глобальной среде Azure AD B2C. Варианты использования локальных учетных записей также охватывают учетные записи, в которых перемещается пользователь. Мы предоставляем схему и шаги рабочего процесса для каждого варианта использования.
Регистрация локального пользователя
В этом варианте использования показано, как пользователь из своей страны или региона выполняет регистрацию с помощью локальной учетной записи Azure AD B2C.
Пользователь из Европы, Ближнего Востока и Африки (EMEA) пытается зарегистрироваться на myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика принудительно применяет перенаправление.
Пользователь достигает клиента Global Funnel Azure AD B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе определенных критериев с помощью федерации OpenId. Это может быть поиск на основе идентификатора clientId приложения.
Пользователь пытается зарегистрироваться. Процесс регистрации проверяет глобальную таблицу подстановки, чтобы определить, существует ли пользователь в любом из региональных клиентов Azure AD B2C.
Пользователь не найден в глобальной таблице подстановки. Учетная запись пользователя записывается в Azure AD B2C, а запись создается в глобальной таблице подстановки для отслеживания региона, в котором пользователь зарегистрировался.
Региональный клиент выдает маркер обратно клиенту воронки.
Клиент воронки выдает маркер приложению.
Существующий локальный пользователь пытается зарегистрироваться
В этом варианте использования показано, как пользователь, повторно регистрирующий тот же адрес электронной почты из своей страны или региона, блокируется.
Пользователь из EMEA пытается зарегистрироваться на myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика принудительно применяет перенаправление.
Пользователь достигает клиента Global Funnel Azure AD B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе идентификатора clientId приложения.
Пользователь пытается зарегистрироваться. Процесс регистрации проверяет глобальную таблицу подстановки, чтобы определить, существует ли пользователь в любом из региональных клиентов Azure AD B2C.
Сообщение электронной почты пользователя находится в глобальной таблице подстановки, указывая, что пользователь зарегистрировал это сообщение в решении на какой-то предыдущий момент времени.
Пользователю отображается сообщение об ошибке, указывающее, что его учетная запись существует.
Вход локального пользователя
Этот вариант использования демонстрирует, как пользователь из своей страны или региона выполняет вход с помощью локальной учетной записи Azure AD B2C.
Пользователь из EMEA пытается войти на myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика принудительно применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе идентификатора clientId приложения.
Пользователь вводит свои учетные данные в региональном клиенте.
Региональный клиент выдает маркер обратно клиенту воронки.
Клиент воронки выдает маркер приложению.
Вход путешествующего пользователя
В этом варианте использования показано, как пользователь может перемещаться между регионами и поддерживать свой профиль пользователя и учетные данные, хранящиеся в региональном клиенте, соответствующие его регистрации.
Пользователь из Северная Америка (NOAM) пытается войти в myapp.fr, находясь в отпуске во Франции. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика принудительно применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе идентификатора clientId приложения.
Пользователь вводит свои учетные данные в региональном клиенте.
Региональный клиент выполняет поиск в глобальной таблице подстановки, так как электронная почта пользователя не найдена в каталоге Azure AD B2C для EMEA.
Адрес электронной почты пользователя зарегистрирован в NOAM Azure AD клиенте B2C.
Клиент B2C в EMEA Azure AD выполняет Microsoft Entra поток ROPC для клиента NOAM Azure AD B2C для проверки учетных данных.
Примечание
Этот вызов также получит маркер для пользователя, чтобы выполнить вызов API Graph. Клиент B2C в EMEA Azure AD выполняет API Graph вызов клиента NOAM Azure AD B2C для получения профиля пользователя. Проверка подлинности этого вызова выполняется с помощью маркера доступа для API Graph, полученных на последнем шаге.
Региональный клиент выдает маркер обратно клиенту воронки.
Клиент воронки выдает маркер приложению.
Локальный пользователь забыл пароль
Этот вариант использования демонстрирует, как пользователь может сбросить свой пароль, если он находится в своей стране или регионе.
Пользователь из EMEA пытается войти на myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика принудительно применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе идентификатора clientId приложения.
Пользователь прибывает в клиент Azure AD B2C для EMEA и выбирает забытый пароль. Пользователь вводит и проверяет свой адрес электронной почты.
Email выполняется поиск, чтобы определить, в каком регионе находится пользователь.
Пользователь вводит новый пароль.
Новый пароль записывается в клиент Azure AD B2C для EMEA.
Региональный клиент выдает маркер обратно клиенту воронки.
Клиент воронки выдает маркер приложению.
Путешествующий пользователь забыл пароль
В этом варианте использования показано, как пользователь может сбросить свой пароль при выезде из региона, в котором он зарегистрировал свою учетную запись.
Пользователь из NOAM пытается войти в myapp.fr , так как он в отпуске во Франции. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика принудительно применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе идентификатора clientId приложения.
Пользователь прибывает в клиент Azure AD B2C для EMEA и выбирает забытый пароль. Пользователь вводит и проверяет свой адрес электронной почты.
Email выполняется поиск, чтобы определить, в каком регионе находится пользователь.
Сообщение электронной почты найдено в клиенте NOAM Azure AD B2C. Пользователь вводит новый пароль.
Новый пароль записывается в клиент NOAM Azure AD B2C с помощью вызова API Graph.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.
Изменение пароля локального пользователя
Этот вариант использования демонстрирует, как пользователь может изменить свой пароль после входа в регион, в котором он зарегистрировал свою учетную запись.
Пользователь из EMEA пытается изменить пароль после входа в myapp.fr.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе clientId приложения.
Пользователь прибывает в клиент emea Azure AD B2C, а набор файлов cookie Single-Sign On (SSO) позволяет пользователю немедленно изменить свой пароль.
Новый пароль записывается в учетную запись пользователей в клиенте Azure AD B2C в EMEA.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.
Смена пароля перемещаемого пользователя
Этот вариант использования демонстрирует, как пользователь может изменить свой пароль после входа в систему вне региона, в котором он зарегистрировал свою учетную запись.
Пользователь из NOAM пытается изменить пароль после входа в myapp.fr.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе clientId приложения.
Пользователь прибывает в клиент emea Azure AD B2C, а набор файлов cookie единого входа позволяет пользователю немедленно изменить свой пароль.
Сообщение электронной почты пользователя находится в клиенте NOAM после проверки глобальной таблицы подстановки.
Новый пароль записывается в учетную запись пользователей в клиенте NOAM Azure AD B2C с помощью вызова MS API Graph.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.
Проверка подлинности федеративного поставщика удостоверений
В следующих вариантах использования показаны примеры использования федеративных удостоверений для регистрации или входа в качестве клиента Azure AD B2C.
Регистрация локального федеративного идентификатора
Этот вариант использования демонстрирует, как пользователь может зарегистрироваться в службе из своего локального региона с помощью федеративного идентификатора.
Пользователь из EMEA пытается зарегистрироваться в myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе clientId приложения.
Пользователь выбирает вход с помощью федеративного поставщика удостоверений (IdP).
Выполните поиск в глобальной таблице подстановки.
Если связывание учетной записи находится в область. Продолжайте, если идентификатор федеративного поставщика удостоверений или сообщение электронной почты, полученное от федеративного поставщика удостоверений, не существует в таблице подстановки.
Если связь с учетной записью не находится в область. Продолжайте, если идентификатор федеративного поставщика удостоверений, возвращенный федеративной поставщиком удостоверений, не существует в таблице подстановки.
Запишите учетную запись пользователя в клиент Azure AD B2C emea.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.
Вход локального федеративного пользователя
Этот вариант использования демонстрирует, как пользователь из своего локального региона входит в службу с помощью федеративного идентификатора.
Пользователь из EMEA пытается войти на myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе application clientId.
Пользователь выбирает вход с помощью федеративного поставщика удостоверений.
Выполните поиск в глобальной таблице подстановки и убедитесь, что федеративный идентификатор пользователя зарегистрирован в EMEA.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.
Перемещение федеративного входа пользователей
Этот вариант использования демонстрирует, как пользователь может войти в свою учетную запись с помощью федеративного поставщика удостоверений, находясь вдали от региона, в котором он зарегистрировался.
Пользователь из NOAM пытается войти в myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе application clientId.
Пользователь выбирает вход с помощью федеративного поставщика удостоверений.
Примечание
Используйте один и тот же идентификатор приложения из раздела Регистрация приложения в удостоверений социальных удостоверений во всех Azure AD региональных клиентах B2C. Это гарантирует, что идентификатор, возвращающийся из поставщика удостоверений социальных удостоверений, всегда будет одинаковым.
Выполните поиск в глобальной таблице подстановки и определите, что федеративный идентификатор пользователя зарегистрирован в NOAM.
Чтение данных учетной записи из клиента NOAM Azure AD B2C с помощью MS API Graph.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.
Связывание учетной записи с соответствующими критериями
Этот вариант использования демонстрирует, как пользователи могут выполнять связывание учетных записей при выполнении условий соответствия. Критерии соответствия обычно — это адрес электронной почты пользователей. Если критерии соответствия для входа из нового поставщика удостоверений имеют то же значение для существующей учетной записи в Azure AD B2C, можно начать процесс связывания учетной записи.
Пользователь из EMEA пытается войти на myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе application clientId.
Пользователь выбирает вход с помощью федеративного поставщика удостоверений или поставщика удостоверений социальных удостоверений.
Поиск выполняется в глобальной таблице подстановки для идентификатора, возвращенного федеративного поставщика удостоверений.
Если идентификатор не существует, но адрес электронной почты от федеративного поставщика удостоверений существует в EMEA Azure AD B2C, это вариант использования связывания учетных записей.
Прочтите пользователя из каталога и определите, какие методы проверки подлинности включены в учетной записи. Создайте экран для входа пользователя с помощью существующего метода проверки подлинности в этой учетной записи.
Когда пользователь подтвердит, что он владеет учетной записью в Azure AD B2C, добавьте новый идентификатор социальной сети в существующую учетную запись и добавьте идентификатор социальной сети в учетную запись в глобальной таблице подстановки.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.
Связывание перемещаемой учетной записи пользователя с соответствующими критериями
Этот вариант использования демонстрирует, как нелокальные пользователи могут выполнять связывание учетных записей при выполнении условий соответствия. Критерии соответствия обычно — это адрес электронной почты пользователей. Если критерии соответствия для входа из нового поставщика удостоверений имеют то же значение для существующей учетной записи в Azure AD B2C, можно начать процесс связывания учетной записи.
Пользователь из NOAM пытается войти в myapp.fr. Если пользователь не отправляется в локальный экземпляр приложения, диспетчер трафика применяет перенаправление.
Пользователь достигает глобальной воронки Azure AD клиента B2C. Этот клиент настроен для перенаправления в региональный клиент Azure AD B2C на основе некоторых критериев с помощью федерации OpenId. Это может быть поиск на основе application clientId.
Пользователь выбирает вход с помощью федеративного поставщика удостоверений или поставщика удостоверений социальных удостоверений.
Поиск выполняется в глобальной таблице подстановки для идентификатора, возвращенного федеративного поставщика удостоверений.
Если идентификатор не существует, а сообщение электронной почты от федеративного поставщика удостоверений существует в другом регионе, это вариант использования перемещаемой учетной записи пользователя.
Создайте id_token_hint ссылку, утверждающую, что пользователи уже собрали утверждения. Начальная загрузка клиента NOAM Azure AD B2C с помощью федерации. Пользователь подтверждает, что он владеет учетной записью через клиент NOAM Azure AD B2C.
Примечание
Этот метод используется для повторного использования существующей логики связывания учетных записей в домашнем клиенте и уменьшения числа вызовов внешних API для управления коллекцией удостоверений. Пример настраиваемой политики, использующим id_token_hint, можно найти здесь.
Когда пользователь подтвердит, что он владеет учетной записью в Azure AD B2C, добавьте новый идентификатор социальной сети в существующую учетную запись, выполнив API Graph вызов в клиент NOAM Azure AD B2C. Добавьте идентификатор социальной сети в учетную запись в глобальной таблице подстановки.
Региональный клиент выдает маркер обратно в воронкообразный клиент.
Воронкообразный клиент выдает маркер приложению.