Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
В этой статье описывается, как включить пользовательские домены в URL-адресах перенаправления для Azure Active Directory B2C (Azure AD B2C). Использование проверенного личного домена имеет следующие преимущества:
Он обеспечивает более простой пользовательский интерфейс. С точки зрения пользователя, они остаются в вашем домене во время входа, а не перенаправляются на домен по умолчанию Azure AD B2C <tenant-name>.b2clogin.com.
Оставаясь в том же домене для приложения во время входа, вы снижаете влияние блокировки сторонних файлов cookie.
Вы увеличиваете количество объектов (учетных записей пользователей и приложений), которые можно создать в клиенте Azure AD B2C с 1,25 миллиона до 5,25 миллиона.
Обзор личного домена
Вы можете включить пользовательские домены для Azure AD B2C с помощью Azure Front Door. Azure Front Door — это глобальная точка входа, которая использует глобальную сеть Microsoft edge для создания быстрых, безопасных и широко масштабируемых веб-приложений. Вы можете отобразить содержимое Azure AD B2C с помощью Azure Front Door, а затем настроить параметр в Azure Front Door для доставки содержимого через пользовательский домен в URL-адресе приложения.
Просмотрите это видео, чтобы узнать о пользовательском домене Azure AD B2C.
На следующей схеме показана интеграция с Azure Front Door.
- В приложении пользователь выбирает кнопку входа, которая отправляет их на страницу входа в Azure AD B2C. На этой странице указывается имя личного домена.
- Веб-браузер разрешает пользовательское доменное имя в IP-адрес Azure Front Door. Во время разрешения DNS запись с каноническим именем (CNAME) и с именем пользовательского домена указывает на внешний интерфейс Front Door по умолчанию (например,
contoso-frontend.azurefd.net
). - Трафик, адресованный пользовательскому домену (например,
login.contoso.com
), направляется на указанный фронтальный узел по умолчанию Front Door (contoso-frontend.azurefd.net
). - Azure Front Door вызывает содержимое Azure AD B2C с помощью домена Azure AD B2C
<tenant-name>.b2clogin.com
по умолчанию. Запрос к конечной точке Azure AD B2C включает исходное имя личного домена. - Azure AD B2C отвечает на запрос, отображая соответствующее содержимое и исходный личный домен.
Это важно
Подключение из браузера к Azure Front Door всегда должно использовать IPv4 вместо IPv6.
При использовании пользовательских доменов следует учитывать следующее:
- Можно настроить несколько пользовательских доменов. Для получения информации о максимальном количестве поддерживаемых пользовательских доменов, см. лимиты и ограничения служб Microsoft Entra для Azure AD B2C и лимиты подписки Azure и ограничения служб, квоты и ограничения для Azure Front Door.
- Azure Front Door — это отдельная служба Azure, поэтому взимается дополнительная плата. Дополнительные сведения см. в статье Цены на Front Door.
- Если у вас несколько приложений, перенесите их в личный домен, так как браузер хранит сеанс Azure AD B2C в текущем используемом доменном имени.
- После настройки пользовательских доменов пользователи по-прежнему смогут получить доступ к домену Azure AD B2C по умолчанию <имя-арендатора>.b2clogin.com. Необходимо заблокировать доступ к домену по умолчанию, чтобы злоумышленники не могли использовать его для доступа к приложениям или запуска распределенных атак типа "отказ в обслуживании" (DDoS). Отправьте запрос в службу поддержки , чтобы запросить блокировку доступа к домену по умолчанию.
Предупреждение
Не запрашивайте блокировку домена по умолчанию, пока личный домен не будет правильно работать.
Предпосылки
- Создайте поток пользователя, чтобы пользователи могли зарегистрироваться и входить в ваше приложение.
- Зарегистрируйте веб-приложение.
- Выполните действия, описанные в статье "Начало работы с настраиваемыми политиками в Active Directory B2C". В этом руководстве описано, как обновить пользовательские файлы политики для использования конфигурации клиента Azure AD B2C.
- Зарегистрируйте веб-приложение.
Шаг 1. Добавление имени личного домена в клиент Azure AD B2C
При создании клиента Azure AD B2C он приходит с исходным доменным именем, <доменным именем>.onmicrosoft.com. Вы не можете изменить или удалить исходное доменное имя, но вы можете добавить собственный личный домен.
Выполните следующие действия, чтобы добавить пользовательский домен в клиент Azure AD B2C:
Добавьте имя личного домена в идентификатор Microsoft Entra.
Это важно
Для этих действий обязательно войдите в клиент Azure AD B2C и выберите службу идентификатора Microsoft Entra.
Добавьте сведения о DNS в регистратор доменных имен. После добавления имени личного домена в идентификатор Microsoft Entra создайте DNS
TXT
илиMX
запись для вашего домена. Такая запись DNS создается для домена, чтобы подтвердить права владения доменным именем.В следующих примерах показаны записи TXT для login.contoso.com и account.contoso.com:
Имя (хост) Тип Данные Вход ТЕКСТ МС=мс12345678 учетная запись ТЕКСТ МС=мс87654321 Запись TXT должна быть связана с поддоменом или именем узла домена. Например, часть логина в домене contoso.com. Если имя узла пусто или
@
, Microsoft Entra ID не сможет проверить добавленный пользовательский домен. В следующих примерах обе записи настроены неправильно.Имя (хост) Тип Данные ТЕКСТ МС=мс12345678 @ ТЕКСТ МС=мс12345678 Подсказка
Вы можете управлять личным доменом с помощью любой общедоступной службы DNS, например GoDaddy. Если у вас нет DNS-сервера, вы можете использовать зону Azure DNS или домены Службы приложений.
Проверка имени личного домена. Проверьте каждый поддомен или имя узла, который вы планируете использовать. Например, чтобы иметь возможность войти в систему по адресам login.contoso.com и account.contoso.com, необходимо проверить оба поддомена, а не только домен верхнего уровня contoso.com.
Это важно
После проверки домена удалите созданную запись DNS TXT.
Шаг 2. Создание нового экземпляра Azure Front Door
Чтобы создать Azure Front Door, выполните следующие действия:
Войдите на портал Azure.
Чтобы выбрать каталог, содержащий подписку Azure, которую вы хотите использовать для Azure Front Door, а не каталог, содержащий клиент Azure AD B2C, выберите значок "Параметры " в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок .
Выполните шаги, указанные в Создание профиля Front Door — быстрое создание, чтобы создать Front Door для вашего тэнанта Azure AD B2C с помощью следующих параметров:
Ключ Ценность Подписка Выберите подписку Azure. Группа ресурсов Выберите существующую группу ресурсов или создайте новую. Имя Задайте имя профиля, например b2cazurefrontdoor
.Уровень Выберите уровень "Стандартный" или "Премиум". Уровень "Стандартный" оптимизирован для доставки содержимого. Уровень "Премиум" основан на уровне "Стандартный" и ориентирован на безопасность. См. раздел Сравнение уровней. Имя конечной точки Введите уникальное на глобальном уровне имя вашей конечной точки, например, b2cazurefrontdoor
. Конечное имя узла автоматически генерируется.Тип источника Выберите Custom
.Имя узла источника Введите <tenant-name>.b2clogin.com
. Замените<tenant-name>
именем клиента Azure AD B2C , напримерcontoso.b2clogin.com
.Оставьте политику кэширования и политику WAF пустыми.
После создания ресурса Azure Front Door выберите "Обзор" и скопируйте имя узла конечной точки. Вам потребуется это позже. Оно будет выглядеть примерно так —
b2cazurefrontdoor-ab123e.z01.azurefd.net
.Убедитесь, что имя узла и заголовок узла-источника имеют одинаковое значение:
- В разделе Параметры выберите Группы источников.
- Выберите группу источника из списка, например default-origin-group.
- На правой панели выберите свое имя узла источника, например
contoso.b2clogin.com
. - На панели Обновление источника обновите имя узла и заголовок узла источника, задав для них одинаковое значение.
Шаг 3. Настройка личного домена в Azure Front Door
На этом шаге вы добавите личный домен, зарегистрированный на шаге 1 , в Azure Front Door.
3.1. Создание записи DNS CNAME
Чтобы добавить пользовательский домен, создайте запись канонического имени (CNAME) у своего поставщика домена. Запись CNAME — это тип записи DNS, который сопоставляет исходное доменное имя с целевым доменным именем (псевдоним). Для Azure Front Door исходное доменное имя — это имя личного домена, а целевое доменное имя — имя узла Front Door по умолчанию, настроенное на шаге 2. Создайте новый экземпляр Azure Front Door. Например, b2cazurefrontdoor-ab123e.z01.azurefd.net
.
После того как Front Door проверяет созданную запись CNAME, трафик, адресованный исходному пользовательскому домену (например login.contoso.com
) направляется на указанный по умолчанию фронтальный узел Front Door, например contoso-frontend.azurefd.net
. Дополнительные сведения см. в разделе Добавление пользовательского домена в Front Door.
Чтобы создать запись CNAME для личного домена, сделайте следующее.
Войдите на веб-сайт поставщика своего личного домена.
Найдите страницу для управления записями DNS. Для этого ознакомьтесь с документацией поставщика или поищите области веб-сайта, обозначенные как Доменное имя, DNS или Name Server Management (Управление сервером доменных имен).
Создайте запись CNAME для личного домена и заполните поля, как показано в следующей таблице (имена полей могут отличаться):
Исходный материал Тип Назначение <login.contoso.com>
CNAME contoso-frontend.azurefd.net
Источник: введите имя личного домена (например, login.contoso.com).
Тип. Введите CNAME.
Назначение. Введите внешний узел Front Door по умолчанию, который вы создаете на шаге 2. Должен использоваться следующий формат: <имя узла>.azurefd.net. Например,
contoso-frontend.azurefd.net
.
Сохраните ваши изменения.
3.2. Свяжите настраиваемый домен с Front Door
На домашней странице портала Azure найдите и выберите ресурс Azure Front Door
myb2cazurefrontdoor
, чтобы открыть его.В меню слева в разделе Параметры выберите Домены.
Нажмите Добавить домен.
Для Управления DNS выберите Все остальные службы DNS.
Для Личного домена введите личный домен, например,
login.contoso.com
.Сохраните другие значения в качестве значений по умолчанию и нажмите кнопку Добавить. Личный домен добавляется в список.
В разделе Состояние проверки домена, который вы только что добавили, выберите Ожидание. Откроется панель с информацией о записи TXT.
Войдите на веб-сайт поставщика своего личного домена.
Найдите страницу для управления записями DNS. Для этого ознакомьтесь с документацией поставщика или поищите области веб-сайта, обозначенные как Доменное имя, DNS или Name Server Management (Управление сервером доменных имен).
Создайте запись DNS TXT и заполните поля, как показано ниже:
- Имя:
_dnsauth.login.contoso.com
, но вам нужно просто ввести_dnsauth
. - Тип:
TXT
- Значение: что-то подобное
75abc123t48y2qrtsz2bvk......
.
После добавления записи DNS TXT состояние проверки в ресурсе Front Door в конечном итоге изменится с Ожидание на Утверждено. Возможно, потребуется перезагрузить страницу для изменения.
- Имя:
Вернитесь на портал Azure. В разделе Связь конечной точки только что добавленного домена, выберите опцию Не связана.
В разделе Выбор конечной точки выберите конечную точку имени узла в раскрывающемся списке.
В списке Выбор маршрутов выберите default-route (маршрут по умолчанию), а затем нажмите Связать.
3.3. Включите маршрут
default-route направляет трафик от клиента в Azure Front Door. Затем Azure Front Door использует конфигурацию для отправки трафика в Azure AD B2C. Выполните следующие действия, чтобы включить маршрут по умолчанию.
Выберите Front Door Manager.
Чтобы включить маршрут по умолчанию, сначала разверните конечную точку из списка конечных точек в диспетчере Front Door. Затем выберите default-route.
На следующем снимку экрана показано, как выбрать маршрут по умолчанию.
Установите флажок "Включить маршрут ".
Для сохранения изменений нажмите Обновить.
Шаг 4. Настройка CORS
Если вы используете пользовательский шаблон HTML для настройки пользовательского интерфейса Azure AD B2C, необходимо настроить CORS с личным доменом.
Настройте хранилище BLOB-объектов Azure для общего доступа к ресурсам между источниками, выполнив следующие действия.
- Войдите в свою учетную запись хранения на портале Azure.
- В меню выберите CORS.
- Для разрешенных источников введите
https://your-domain-name
. Заменитеyour-domain-name
доменным именем. Например,https://login.contoso.com
. При вводе имени клиента используйте все строчные буквы. - Для разрешенных методов выберите оба
GET
иOPTIONS
. - Для разрешенных заголовков введите звездочку (*).
- Для открытых заголовков введите звездочку (*).
- Для максимального возраста введите 200.
- Выберите Сохранить.
Проверка личного домена
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
В портале Azure найдите и выберите Azure AD B2C.
В разделе "Политики" выберите потоки пользователей (политики).
Выберите поток пользователя, а затем выберите Выполнение потока пользователя.
В разделе Приложение выберите зарегистрированное ранее веб-приложение с именем webapp1. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
.Скопируйте URL-адрес в разделе Конечная точка выполнения потока пользователя.
Чтобы сымитировать вход с использованием личного домена, откройте окно веб-браузера и вставьте в адресную строку скопированный URL-адрес. Замените домен Azure AD B2C (<имя> клиента.b2clogin.com) личным доменом.
Например, вместо:
https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
используйте:
https://login.contoso.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
Убедитесь, что Azure AD B2C загружен правильно. Затем выполните вход с локальной учетной записью.
Повторите тест с остальными правилами.
Настройте поставщика удостоверений
Когда пользователь выбирает вход с помощью поставщика удостоверений социальных сетей, Azure AD B2C инициирует запрос авторизации и отправляет пользователя выбранному поставщику удостоверений, чтобы завершить вход. Запрос авторизации указывает доменное имя Azure AD B2C по умолчанию: redirect_uri
.
https://<tenant-name>.b2clogin.com/<tenant-name>/oauth2/authresp
Если вы настроили политику, чтобы разрешить вход с помощью внешнего поставщика удостоверений, обновите URI перенаправления OAuth с помощью личного домена. Большинство поставщиков аутентификации позволяют зарегистрировать несколько URL перенаправления. Мы рекомендуем добавлять URI перенаправления вместо замены их, чтобы протестировать настраиваемую политику, не затрагивая приложения, использующие доменное имя azure AD B2C по умолчанию.
В следующем URI для перенаправления:
https://<custom-domain-name>/<tenant-name>/oauth2/authresp
- Замените <
custom-domain-name
> имя личного домена. - Замените <
tenant-name
> именем клиента или идентификатором клиента.
В следующем примере показан допустимый URI перенаправления OAuth:
https://login.contoso.com/contoso.onmicrosoft.com/oauth2/authresp
Метаданные поставщиков удостоверений SAML будут выглядеть следующим образом:
https://<custom-domain-name>.b2clogin.com/<tenant-name>/<your-policy>/samlp/metadata?idptp=<your-technical-profile>
Настройка приложения
После настройки и тестирования личного домена можно обновить приложения, чтобы загрузить URL-адрес, указывающий личный домен в качестве имени узла вместо домена Azure AD B2C.
Интеграция личного домена применяется к конечным точкам проверки подлинности, используюющим политики Azure AD B2C (потоки пользователей или пользовательские политики) для проверки подлинности пользователей. Эти конечные точки могут выглядеть следующим образом:
https://<custom-domain>/<tenant-name>/<policy-name>/v2.0/.well-known/openid-configuration
https://<custom-domain>/<tenant-name>/<policy-name>/oauth2/v2.0/authorize
https://<custom-domain>/<tenant-name>/<policy-name>/oauth2/v2.0/token
Замените:
-
<
custom-domain
> с личным доменом -
<
tenant-name
> с именем клиента или идентификатором клиента -
<
policy-name
> с именем политики.
Метаданные поставщика услуг SAML могут выглядеть следующим образом:
https://custom-domain-name/tenant-name/policy-name/Samlp/metadata
(Необязательно) Использование идентификатора клиента
Вы можете заменить имя арендатора B2C в URL-адресе на GUID идентификатора арендатора, чтобы удалить все ссылки на "B2C" в URL-адресе. Идентификатор арендатора GUID можно найти на странице обзора B2C на портале Azure.
Например, измените https://account.contosobank.co.uk/contosobank.onmicrosoft.com/
на https://account.contosobank.co.uk/<tenant ID GUID>/
.
Если решено использовать идентификатор арендатора вместо имени арендатора, обязательно обновите URI перенаправления OAuth поставщика удостоверений соответствующим образом. При использовании идентификатора клиента вместо имени клиента допустимый URI перенаправления OAuth будет выглядеть следующим образом:
https://login.contoso.com/11111111-1111-1111-1111-111111111111/oauth2/authresp
Дополнительные сведения см. в разделе "Настройка поставщика удостоверений".
Выпуск токена
Имя издателя токена (iss) изменяется в зависимости от того, какой пользовательский домен используется. Рассмотрим пример.
https://<domain-name>/11111111-1111-1111-1111-111111111111/v2.0/
(Необязательно) Расширенная настройка Azure Front Door
Можно использовать расширенную конфигурацию Azure Front Door, например брандмауэр веб-приложений Azure (WAF). Azure WAF обеспечивает централизованную защиту веб-приложений от распространенных эксплойтов и уязвимостей.
При использовании личных доменов необходимо учитывать следующее:
- Политика WAF должна быть того же уровня, что и профиль Azure Front Door. Дополнительные сведения о создании политики WAF для использования с Azure Front Door см. в статье Настройка политики WAF.
- Функция управляемых правил WAF официально не поддерживается, так как она может привести к ложноположительным результатам и помешать передаче допустимых запросов, поэтому используйте настраиваемые правила WAF, только если они соответствуют вашим потребностям.
Устранение неполадок
Azure AD B2C возвращает ошибку 'Страница не найдена'
- Симптом . Вы настраиваете личный домен, но при попытке входа с помощью личного домена вы получите сообщение об ошибке HTTP 404.
- Возможные причины . Эта проблема может быть связана с конфигурацией DNS или конфигурацией серверной части Azure Front Door.
-
Разрешение:
- Убедитесь, что личный домен зарегистрирован и успешно проверен в клиенте Azure AD B2C.
- Убедитесь, что личный домен настроен правильно. Запись
CNAME
для вашего пользовательского домена должна указывать на фронтенд узел Azure Front Door по умолчанию (например, contoso-frontend.azurefd.net).
Наши службы недоступны прямо сейчас
Симптом . Вы настраиваете личный домен, но при попытке входа в личный домен вы получите следующее сообщение об ошибке: наши службы недоступны прямо сейчас. Мы работаем над восстановлением всех служб как можно скорее. Пожалуйста, проверьте в ближайшее время.
Возможные причины . Эта проблема может быть связана с конфигурацией маршрута Azure Front Door.
Разрешение. Проверьте состояние маршрута по умолчанию. Если маршрут отключен, включите его. На следующем снимок экрана показано, как должен выглядеть маршрут по умолчанию:
Azure AD B2C сообщает, что ресурс, который вы ищете, был удалён, его название изменено или он временно недоступен.
- Симптом. Вы настраиваете личный домен, но при попытке входа с помощью личного домена вы получите нужный ресурс удален, изменился его имя или временно недоступно сообщение об ошибке.
- Возможные причины . Эта проблема может быть связана с проверкой личного домена Microsoft Entra.
- Решение. Убедитесь, что личный домен зарегистрирован и успешно проверен в клиенте Azure AD B2C.
Поставщик удостоверений возвращает ошибку
- Симптом. После настройки личного домена вы сможете войти с помощью локальных учетных записей. Но при входе с учетными данными из внешних поставщиков социальных или корпоративных удостоверений отображается сообщение об ошибке.
- Возможные причины . Когда Azure AD B2C принимает пользователя для входа с помощью федеративного поставщика удостоверений, он указывает URI перенаправления. URI перенаправления — это конечная точка, в которой поставщик идентификации возвращает токен. URI перенаправления — это тот же домен, который использует приложение с запросом авторизации. Если URI перенаправления еще не зарегистрирован в поставщике удостоверений, он может не доверять новому URI перенаправления, что может привести к сообщению об ошибке.
- Решение - выполните действия, описанные в настройке поставщика удостоверений, чтобы добавить новый URI перенаправления.
Часто задаваемые вопросы
Когда я использую команду "Запустить сейчас", чтобы попытаться запустить политику, почему я не вижу пользовательский домен?
Скопируйте URL-адрес, измените доменное имя вручную и вставьте его обратно в браузер.
Какой IP-адрес отображается в Azure AD B2C? IP-адрес пользователя или IP-адрес Azure Front Door?
Azure Front Door передает исходный IP-адрес пользователя. Это IP-адрес, который отображается в отчетах аудита или пользовательской политике.
Это важно
Если клиент отправляет x-forwarded-for
заголовок в Azure Front Door, Azure AD B2C использует исходный x-forwarded-for
IP-адрес пользователя для оценки условного доступа и {Context:IPAddress}
.
Можно ли использовать сторонний брандмауэр веб-приложений (WAF) с B2C?
Да, Azure AD B2C поддерживает BYO-WAF (Использование собственного брандмауэра веб-приложений). Однако необходимо проверить WAF, чтобы убедиться, что он не блокирует или оповещает законные запросы к потокам пользователей Azure AD B2C или пользовательским политикам. Узнайте, как настроить Akamai WAF и Cloudflare WAF с помощью Azure AD B2C.
Можно ли разместить экземпляр Azure Front Door в подписке, отличной от моего клиента Azure AD B2C?
Да, Azure Front Door может находиться в другой подписке.
Связанный контент
- Узнайте о запросах на авторизацию OAuth.
- Узнайте о запросах авторизации OpenID Connect.
- Узнайте о потоке кода авторизации.