Настройка Azure AD B2C для защиты личности клиента
01.05.2025
Эта техническая и образовательная статья призвана помочь аналитикам безопасности, ИТ-администраторам и системным инженерам настроить и использовать Azure AD B2C (бизнес-потребитель) для защиты и управления удостоверениями клиентов. В цифровом мире, где качество обслуживания клиентов имеет первостепенное значение, решающее значение имеет обеспечение безопасного, интуитивно понятного и настраиваемого процесса регистрации и входа в систему. Azure AD B2C — это решение для управления идентификацией и доступом клиентов (CIAM), которое позволяет вашим клиентам регистрироваться и входить в ваши приложения и API, используя свои социальные удостоверения (например, Google, Facebook) или локальные учетные записи [1].
Введение
Идентификация клиента является основой современного цифрового опыта. Веб-приложениям и мобильным приложениям нужна надежная система для управления регистрацией, входом в систему и профилями миллионов клиентов, обеспечивающая безопасность, масштабируемость и соответствие правилам конфиденциальности. Разработка и поддержка внутренней системы CIAM сложна, дорога и подвержена ошибкам безопасности. Такие решения, как Azure AD B2C, устраняют эту сложность, предоставляя платформу как услугу (PaaS), которая обрабатывает все аспекты управления идентификацией клиентов [2].
Azure AD B2C расширяет возможности Azure Active Directory для удовлетворения конкретных потребностей приложений, ориентированных на потребителя. Это позволяет организациям полностью настраивать процесс идентификации клиентов: от страниц входа и регистрации до собираемых атрибутов. Кроме того, он интегрируется с расширенными функциями безопасности, такими как многофакторная аутентификация (MFA), условный доступ и защита личности, для защиты учетных записей клиентов от распространенных угроз, таких как атаки грубой силы и скомпрометированные учетные данные [3].
В этом практическом руководстве будут рассмотрены предварительные требования, концепции B2C, способы создания и настройки клиента B2C, регистрации приложений, настройки настраиваемых пользовательских потоков (регистрация, вход в систему, редактирование профиля, сброс пароля), способы интеграции с приложениями, а также способы тестирования и проверки аутентификации. Будут предоставлены пошаговые инструкции, практические примеры и краткие объяснения, чтобы читатель мог реализовать, протестировать и проверить эти функции. Кроме того, будут обсуждаться советы по безопасности, проверки соответствия и передовые методы, чтобы обеспечить защиту личных данных ваших клиентов и эффективное, автономное, профессиональное и надежное управление ими.
Почему Azure AD B2C имеет решающее значение для защиты личности клиентов?
- Расширенное взаимодействие с клиентами: предоставляет возможности входа в систему через социальные сети и полную настройку пользовательского интерфейса, что обеспечивает плавное и единообразное взаимодействие с пользователем.
- Надежная безопасность: объединяет функции безопасности корпоративного уровня, такие как MFA, условный доступ и защита личных данных, для защиты учетных записей клиентов от атак.
- Масштабируемость и надежность: рассчитан на работу с миллионами пользователей и миллиардами проверок подлинности, обеспечивая высокую доступность и производительность.
- Соответствие: помогает соблюдать правила конфиденциальности данных, такие как GDPR и LGPD, посредством контроля над хранением и обработкой данных клиентов.
- Снижение затрат: устраняется необходимость создания и обслуживания сложной внутренней инфраструктуры идентификации.
- Гибкость: поддерживает широкий спектр протоколов аутентификации (OpenID Connect, OAuth 2.0, SAML) и может быть интегрирован практически с любым приложением.
Предварительные условия
Для настройки Azure AD B2C вам потребуются следующие элементы:
- Активная подписка Azure: подписка Azure для создания ресурсов и управления ими.
- Административный доступ: учетная запись с ролью «Глобальный администратор» или «Администратор пользователей» в подписке Azure.
- Тенант Azure AD B2C: новый клиент Azure AD B2C, который представляет собой отдельный каталог от вашего корпоративного клиента Azure AD.
Шаг за шагом: настройка Azure AD B2C
Давайте создадим B2C-тенанта, зарегистрируем приложение и настроим пользовательский поток.
1. Создание клиента Azure AD B2C
Клиент B2C — это отдельный каталог, в котором хранятся личные данные ваших клиентов.
- Откройте браузер и перейдите на портал Azure: https://portal.azure.com.
- Войдите в систему с учетной записью, у которой есть разрешенияЭто необходимо.
- В верхнем поле поиска введите «Azure Active Directory B2C» и выберите его из результатов.
-
Нажмите «+ Создать новый клиент Azure AD B2C».
-
Создайте арендатора B2C:
- Тип арендатора: «Арендатор Azure AD B2C».
- Название организации: укажите название вашей организации (например: «MyCompanyB2C»).
- Исходное доменное имя: выберите уникальное доменное имя (например:
mycompanyab2c.onmicrosoft.com). - Страна/регион: выберите свою страну/регион.
- Подписка: выберите подписку Azure.
- Группа ресурсов. Создайте новую группу ресурсов (например,
rg-b2c) или выберите существующую.
-
Нажмите «Проверить + создать», а затем Создать.
- Объяснение: Создание клиента B2C может занять несколько минут. После создания вам нужно будет переключиться на этот новый каталог B2C, чтобы управлять им.
2. Регистрация приложения в Azure AD B2C
Каждое приложение, которое будет использовать Azure AD B2C для аутентификации, необходимо зарегистрировать.
- На портале Azure убедитесь, что вы находитесь в клиенте Azure AD B2C (используйте переключатель каталогов в правом верхнем углу).
- На левой панели навигации выберите Регистрация приложений в разделе «Управление».
-
Нажмите
+ Новая регистрация. -
Зарегистрируйте заявку:
- Имя: укажите имя вашего приложения (например: «WebApp-MinhaEmpresa»).
- Поддерживаемые типы учетных записей: выберите «Учетные записи в любом каталоге организации или каталоге поставщика удостоверений (для аутентификации пользователей с помощью пользовательских потоков)».
- URI перенаправления (необязательно): выберите «Веб» и введите URL-адрес, по которому токен аутентификации будет отправлен после входа в систему (например, «https://localhost:5001/signin-oidc» для локальной разработки или рабочий URL-адрес вашего приложения).
- Разрешения: установите флажок «Предоставить согласие администратора на разрешения openid и offline_access».
-
Нажмите Зарегистрироваться.
-
После регистрации запишите Идентификатор приложения (клиент) и Идентификатор каталога (клиент). Они понадобятся вам для настройки вашего приложения.
3. Создание пользовательских потоков
Потоки пользователей — это предопределенные, настраиваемые возможности идентификации для регистрации, входа в систему, редактирования профиля и сброса пароля.
- На левой панели навигации клиента Azure AD B2C выберите Потоки пользователя в разделе «Политики».
-
Нажмите «+Новый поток пользователя».
-
Создайте пользовательский поток:
- Тип пользовательского потока: выберите «Зарегистрироваться и войти».
- Версия: «Рекомендуемая».
- Имя: укажите имя (например:
B2C_1_signup_signin). - Поставщики удостоверений: выберите «Электронная почта локальной учетной записи» (и другие, например «Google», «Facebook», если вы хотите интегрировать поставщиков социальных сетей).
- Атрибуты пользователя и утверждения токенов: выберите атрибуты, которые вы хотите собирать во время регистрации (например, «Адрес электронной почты», «Имя», «Фамилия») и утверждения, которые будут включены в токен.
- Многофакторная аутентификация (MFA): отключена (в этом примере, но может быть включена для дополнительной безопасности).
- Условный доступ: «Отключено» (в этом примере).
-
Нажмите Создать.
-
Повторите процесс, чтобы создать другие пользовательские потоки, такие как «Сброс пароля» (например, «B2C_1_password_reset») и «Редактирование профиля» (например, «B2C_1_profile_edit»).
- Объяснение. Потоки пользователей — это основа процесса идентификации клиентов. Они определяют последовательность экранов и взаимодействий, которые пользователь будет иметь в процессе аутентификации. Вы можете настроить внешний вид и поведение этих потоков.
4. Настройка пользовательского интерфейса (UI) пользовательских потоков
Вы можете настроить внешний вид страниц входа и регистрации в соответствии с фирменным стилем вашего приложения.
- В левой области навигации клиента Azure AD B2C выберите Потоки пользователя.
- Нажмите на созданный вами пользовательский поток (например: «B2C_1_signup_signin»).
- На левой панели навигации выберите Макеты страниц.
-
Вы можете настроить макет каждой страницы (например: «Единая страница входа», «Страница регистрации локальной учетной записи»), используя собственный CSS или HTML в соответствии с вашим брендом.
- Объяснение. Для расширенной настройки вы можете разместить свои собственные файлы HTML/CSS/JavaScript в хранилище BLOB-объектов Azure и ссылаться на них.их здесь.
5. Интеграция Azure AD B2C с приложением
Интеграция включает настройку вашего приложения для использования Azure AD B2C для аутентификации. Этот процесс зависит от платформы и структуры вашего приложения. Мы будем использовать концептуальный пример веб-приложения.
- Настройте приложение для использования OpenID Connect. Вашему приложению потребуется использовать клиент OpenID Connect для связи с Azure AD B2C.
-
Параметры конфигурации. Вам потребуются следующие параметры вашего клиента B2C и зарегистрированного приложения:
- Идентификатор клиента (идентификатор приложения): идентификатор вашего зарегистрированного приложения (например: «хххххххх-хххх-хххх-хххх-хххххххххххххх»).
- Идентификатор клиента B2C (идентификатор клиента): имя вашего клиента B2C (например:
mycompanyab2c.onmicrosoft.com). - Имя пользовательского потока (имя политики): имя пользовательского потока, который вы хотите использовать для входа в систему (например:
B2C_1_signup_signin). - URI перенаправления: URL-адрес, который вы настроили при регистрации приложения (например: https://localhost:5001/signin-oidc).
-
Конечная точка метаданных OpenID Connect: эта конечная точка предоставляет информацию о конфигурации B2C. Обычно используется формат «https://
.b2clogin.com/ .onmicrosoft.com/ /v2.0/.well-known/openid-configuration». -
Пример конфигурации (псевдокод для веб-приложения ASP.NET Core):
csharp // Startup.cs или Program.cs Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(параметры => { Configuration.Bind("AzureAdB2C", options); options.Instance = "https://minhaempresab2c.b2clogin.com"; options.Domain = "mycompanyab2c.onmicrosoft.com"; options.ClientId = "<CLIENT_ID_DA_APLICACAO>"; options.SignUpSignInPolicyId = "B2C_1_signup_signin"; options.CallbackPath = "/signin-oidc"; options.SignedOutCallbackPath = "/signout-oidc"; options.ClientSecret = "<CUSTOMER_SEGREDO_SE_USADO>"; // Только для веб-приложений, не являющихся SPA }); -
Объяснение: Библиотека Microsoft.Identity.Web упрощает интеграцию Azure AD B2C с приложениями .NET. Для других платформ существуют эквивалентные SDK и библиотеки.
Проверка и тестирование
Крайне важно протестировать процесс аутентификации и взаимодействие с пользователем.
1. Тестирование процесса регистрации и входа пользователя в систему
- Сценарий: получите доступ к веб-приложению, настроенному для использования Azure AD B2C. Попробуйте зарегистрировать нового пользователя, а затем войдите в систему под вновь созданной учетной записью.
- Ожидаемое действие: вы должны быть перенаправлены на страницу регистрации/входа в Azure AD B2C, сможете создать учетную запись, войти в систему и быть успешно перенаправлены обратно в свое приложение.
- Проверка:
- На портале Azure в клиенте B2C перейдите к разделу Пользователи в разделе «Управление». Новый пользователь должен появиться в списке.
- Проверьте журналы аудита Azure AD B2C, чтобы подтвердить события регистрации и входа.
2. Тестирование сброса пароля
- Сценарий. Попробуйте сбросить пароль пользователя с помощью пользовательского процесса сброса пароля.
- Ожидаемое действие: пользователь должен иметь возможность сбросить свой пароль и войти в систему с новым паролем.
- Проверка:
- Проверьте журналы аудита Azure AD B2C, чтобы подтвердить событие сброса пароля.
3. Проверка журналов аудита в Azure AD B2C
- На портале Azure в клиенте B2C перейдите к Azure Active Directory > Мониторинг > Журналы аудита.
- Отфильтруйте журналы по категориям «Категория» = «Основной каталог» и «Активность» = «Вход» или «Регистрация».
- Проверьте сведения о событии, чтобы подтвердить успешность операций аутентификации.
Советы и рекомендации по безопасности
- Включить MFA: всегда включайте многофакторную аутентификацию (MFA) для потоков входа пользователей, особенно для учетных записей с привилегиями или доступом к конфиденциальным данным. MFA — одно из наиболее эффективных средств защиты от атак, связанных с компрометацией учетных данных.
- Использовать условный доступ: интегрируйте Azure AD B2C с условным доступом, чтобы обеспечить соблюдение политик безопасности на основе рисков, таких как требование MFA для входа в систему из неизвестных мест или с несовместимых устройств [3].
- Защита личных данных:Используйте функции Azure AD B2C Identity Protection для обнаружения и устранения рисков идентификации, таких как утечка учетных данных или аномальные входы в систему.
- Безопасная настройка пользовательского интерфейса. При настройке страниц входа/регистрации убедитесь, что пользовательский HTML/CSS/JavaScript не создает уязвимостей безопасности (например, XSS). Используйте безопасное хранилище BLOB-объектов с правильно настроенным CORS.
- Ограничить атрибуты пользователя. Собирайте только те атрибуты пользователя, которые строго необходимы для вашего приложения и бизнеса. Это сводит к минимуму риск раскрытия данных и помогает обеспечить соответствие требованиям.
- Мониторинг журналов. Постоянно отслеживайте журналы аудита Azure AD B2C и журналы входа в систему для обнаружения подозрительной активности или попыток атак.
- Ротация секрета клиента. Если ваше приложение использует секрет клиента, обязательно регулярно меняйте его и храните в безопасном месте (например, Azure Key Vault).
- Интеграция с поставщиками социальных сетей. При интеграции поставщиков социальных удостоверений, таких как Google или Facebook, настройте их правильно и следуйте рекомендациям по безопасности каждого поставщика.
Распространенное устранение неполадок
- Ошибка при создании клиента B2C:
- Убедитесь, что у вас есть необходимые разрешения в вашей подписке Azure.
- Убедитесь, что исходное доменное имя уникально и не используется.
- Ошибка перенаправления после входа/регистрации:
- Убедитесь, что «URI перенаправления», настроенный при регистрации приложения в Azure AD B2C, точно соответствует URL-адресу возврата вашего приложения.
- Убедитесь, что протокол (HTTP/HTTPS) и порт верны.
- Пользовательский поток не работает или отображает ошибку:
- Убедитесь, что поток пользователей создан правильно и выбраны поставщики удостоверений и атрибуты пользователей.
- Проверьте поток пользователя непосредственно на портале Azure (на странице потока пользователя нажмите «Запустить поток пользователя»), чтобы изолировать проблему.
- Проверьте журналы аудита на наличие сообщений об ошибках.
- Настройка пользовательского интерфейса не применяется:
- Убедитесь, что URL-адреса пользовательских файлов CSS/HTML верны и общедоступны (если они размещены в хранилище BLOB-объектов).
- Убедитесь, что CORS правильно настроен в вашем хранилище BLOB-объектов, чтобы разрешить доступ из домена b2clogin.com.
- Очистите кеш браузера, чтобы гарантировать загрузку последних изменений.
- Проблемы интеграции приложений:
- Убедитесь, что идентификатор клиента, идентификатор клиента B2C и имя пользовательского потока настроены правильно в вашем приложении.
- Убедитесь, что библиотеки аутентификации в вашем приложении обновлены.
- Проверьте журналы приложений на наличие сообщений об ошибках аутентификации.
Заключение
Azure AD B2C — это мощное и гибкое решение для управления и защиты удостоверений ваших клиентов, предлагающее улучшенный пользовательский интерфейс и надежную безопасность. Делегируя управление идентификацией Microsoft, организации могут сосредоточиться на своем основном бизнесе, гарантируя безопасность и соответствие данных своих клиентов. Тщательная реализация пользовательских потоков, интеграция с передовыми практиками безопасности и непрерывный мониторинг имеют решающее значение для максимизации преимуществ Azure AD B2C. Благодаря этому практическому руководству специалисты по безопасности и ИТ-администраторы будут хорошо подготовлены к настройке, проверке и управлению Azure AD B2C, защите личных данных своих клиентов и укреплению общего состояния безопасности своих приложений.
Ссылки:
[1] Microsoft Learn. Документация по Azure Active Directory B2C. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/ [2] Microsoft Learn. Рекомендации по использованию Azure AD B2C. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/best-practices [3] Microsoft Learn. Защита личных данных и условный доступ в Azure AD B2C. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/conditional-access-identity-protection-overview [4] Microsoft Learn. Зарегистрируйте веб-приложение в Azure Active Directory B2C. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-register-applications [5] Microsoft Learn. Создание пользовательских потоков и настраиваемых политик — Azure Active Directory B2C. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-create-user-flows [6] Microsoft Learn. Настройте аутентификацию в примере веб-приложения с помощью Azure AD B2C. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/configure-authentication-sample-web-app [7] Microsoft Learn. Исследуйте риски с помощью Identity Protection в Azure AD B2C. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/identity-protection-investigate-risk