Настройка Azure AD B2C для защиты личности клиента

Настройка 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 вам потребуются следующие элементы:

  1. Активная подписка Azure: подписка Azure для создания ресурсов и управления ими.
  2. Административный доступ: учетная запись с ролью «Глобальный администратор» или «Администратор пользователей» в подписке Azure.
  3. Тенант Azure AD B2C: новый клиент Azure AD B2C, который представляет собой отдельный каталог от вашего корпоративного клиента Azure AD.

Шаг за шагом: настройка Azure AD B2C

Давайте создадим B2C-тенанта, зарегистрируем приложение и настроим пользовательский поток.

1. Создание клиента Azure AD B2C

Клиент B2C — это отдельный каталог, в котором хранятся личные данные ваших клиентов.

  1. Откройте браузер и перейдите на портал Azure: https://portal.azure.com.
  2. Войдите в систему с учетной записью, у которой есть разрешенияЭто необходимо.
  3. В верхнем поле поиска введите «Azure Active Directory B2C» и выберите его из результатов.
  4. Нажмите «+ Создать новый клиент Azure AD B2C».

  5. Создайте арендатора B2C:

    • Тип арендатора: «Арендатор Azure AD B2C».
    • Название организации: укажите название вашей организации (например: «MyCompanyB2C»).
    • Исходное доменное имя: выберите уникальное доменное имя (например: mycompanyab2c.onmicrosoft.com).
    • Страна/регион: выберите свою страну/регион.
    • Подписка: выберите подписку Azure.
    • Группа ресурсов. Создайте новую группу ресурсов (например, rg-b2c) или выберите существующую.
  6. Нажмите «Проверить + создать», а затем Создать.

    • Объяснение: Создание клиента B2C может занять несколько минут. После создания вам нужно будет переключиться на этот новый каталог B2C, чтобы управлять им.

2. Регистрация приложения в Azure AD B2C

Каждое приложение, которое будет использовать Azure AD B2C для аутентификации, необходимо зарегистрировать.

  1. На портале Azure убедитесь, что вы находитесь в клиенте Azure AD B2C (используйте переключатель каталогов в правом верхнем углу).
  2. На левой панели навигации выберите Регистрация приложений в разделе «Управление».
  3. Нажмите + Новая регистрация.

  4. Зарегистрируйте заявку:

    • Имя: укажите имя вашего приложения (например: «WebApp-MinhaEmpresa»).
    • Поддерживаемые типы учетных записей: выберите «Учетные записи в любом каталоге организации или каталоге поставщика удостоверений (для аутентификации пользователей с помощью пользовательских потоков)».
    • URI перенаправления (необязательно): выберите «Веб» и введите URL-адрес, по которому токен аутентификации будет отправлен после входа в систему (например, «https://localhost:5001/signin-oidc» для локальной разработки или рабочий URL-адрес вашего приложения).
    • Разрешения: установите флажок «Предоставить согласие администратора на разрешения openid и offline_access».
  5. Нажмите Зарегистрироваться.

  6. После регистрации запишите Идентификатор приложения (клиент) и Идентификатор каталога (клиент). Они понадобятся вам для настройки вашего приложения.

3. Создание пользовательских потоков

Потоки пользователей — это предопределенные, настраиваемые возможности идентификации для регистрации, входа в систему, редактирования профиля и сброса пароля.

  1. На левой панели навигации клиента Azure AD B2C выберите Потоки пользователя в разделе «Политики».
  2. Нажмите «+Новый поток пользователя».

  3. Создайте пользовательский поток:

    • Тип пользовательского потока: выберите «Зарегистрироваться и войти».
    • Версия: «Рекомендуемая».
    • Имя: укажите имя (например: B2C_1_signup_signin).
    • Поставщики удостоверений: выберите «Электронная почта локальной учетной записи» (и другие, например «Google», «Facebook», если вы хотите интегрировать поставщиков социальных сетей).
    • Атрибуты пользователя и утверждения токенов: выберите атрибуты, которые вы хотите собирать во время регистрации (например, «Адрес электронной почты», «Имя», «Фамилия») и утверждения, которые будут включены в токен.
    • Многофакторная аутентификация (MFA): отключена (в этом примере, но может быть включена для дополнительной безопасности).
    • Условный доступ: «Отключено» (в этом примере).
  4. Нажмите Создать.

  5. Повторите процесс, чтобы создать другие пользовательские потоки, такие как «Сброс пароля» (например, «B2C_1_password_reset») и «Редактирование профиля» (например, «B2C_1_profile_edit»).

    • Объяснение. Потоки пользователей — это основа процесса идентификации клиентов. Они определяют последовательность экранов и взаимодействий, которые пользователь будет иметь в процессе аутентификации. Вы можете настроить внешний вид и поведение этих потоков.

4. Настройка пользовательского интерфейса (UI) пользовательских потоков

Вы можете настроить внешний вид страниц входа и регистрации в соответствии с фирменным стилем вашего приложения.

  1. В левой области навигации клиента Azure AD B2C выберите Потоки пользователя.
  2. Нажмите на созданный вами пользовательский поток (например: «B2C_1_signup_signin»).
  3. На левой панели навигации выберите Макеты страниц.
  4. Вы можете настроить макет каждой страницы (например: «Единая страница входа», «Страница регистрации локальной учетной записи»), используя собственный CSS или HTML в соответствии с вашим брендом.

    • Объяснение. Для расширенной настройки вы можете разместить свои собственные файлы HTML/CSS/JavaScript в хранилище BLOB-объектов Azure и ссылаться на них.их здесь.

5. Интеграция Azure AD B2C с приложением

Интеграция включает настройку вашего приложения для использования Azure AD B2C для аутентификации. Этот процесс зависит от платформы и структуры вашего приложения. Мы будем использовать концептуальный пример веб-приложения.

  1. Настройте приложение для использования OpenID Connect. Вашему приложению потребуется использовать клиент OpenID Connect для связи с Azure AD B2C.
  2. Параметры конфигурации. Вам потребуются следующие параметры вашего клиента 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. Тестирование процесса регистрации и входа пользователя в систему

  1. Сценарий: получите доступ к веб-приложению, настроенному для использования Azure AD B2C. Попробуйте зарегистрировать нового пользователя, а затем войдите в систему под вновь созданной учетной записью.
  2. Ожидаемое действие: вы должны быть перенаправлены на страницу регистрации/входа в Azure AD B2C, сможете создать учетную запись, войти в систему и быть успешно перенаправлены обратно в свое приложение.
  3. Проверка:
    • На портале Azure в клиенте B2C перейдите к разделу Пользователи в разделе «Управление». Новый пользователь должен появиться в списке.
    • Проверьте журналы аудита Azure AD B2C, чтобы подтвердить события регистрации и входа.

2. Тестирование сброса пароля

  1. Сценарий. Попробуйте сбросить пароль пользователя с помощью пользовательского процесса сброса пароля.
  2. Ожидаемое действие: пользователь должен иметь возможность сбросить свой пароль и войти в систему с новым паролем.
  3. Проверка:
    • Проверьте журналы аудита Azure AD B2C, чтобы подтвердить событие сброса пароля.

3. Проверка журналов аудита в Azure AD B2C

  1. На портале Azure в клиенте B2C перейдите к Azure Active Directory > Мониторинг > Журналы аудита.
  2. Отфильтруйте журналы по категориям «Категория» = «Основной каталог» и «Активность» = «Вход» или «Регистрация».
  3. Проверьте сведения о событии, чтобы подтвердить успешность операций аутентификации.

Советы и рекомендации по безопасности

  • Включить 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