Безопасный единый вход (SSO) между доменами с помощью Azure Active Directory B2C
active directory, microsoft azure, security, защита ит-инфраструктуры
Пользователям нужен мгновенный вход в приложения и простой переход между доменами без повторного ввода учетных данных. Но обеспечить единый вход с нуля – это все равно, что изобрести колесо. Мы должны подумать о безопасности, производительности, управлении пользовательскими сессиями и учесть множество других нюансов.
Облачные IDP, такие как Azure Active Directory B2C (AAD B2C), заявляют, что они обеспечили возможность разработчикам добавлять SSO, MFA, безопасное хранилище для пользовательских данных и даже интегрироваться с другими IDP без необходимости писать какой-либо код. Давайте подробнее рассмотрим AAD B2C и попытаемся выяснить, насколько сложным будет его использование для вас, и подходит ли это решение для ваших приложений
Что такое Azure Active Directory B2C (AAD B2C)?
AAD B2C – это облачная служба поставщика удостоверений, основанная на Azure Active Directory и доступная в Microsoft Azure Cloud. AAD B2C позволяет:
- Обеспечить клиентам возможность создавать учетные записи пользователей, безопасно входить в приложения, сбрасывать пароли и управлять профилями
- Разрешить клиентам выполнять аутентификацию с помощью социальных и / или корпоративных учетных данных (Facebook, Google, Twitter, ADFS, Active Directory, Salesforce и т. д.)
- Позволить клиентам беспрепятственно перемещаться между приложениями, используя единую идентификацию (SSO)
- Включить многофакторную аутентификацию, реализовать безопасную политику паролей
- Предоставить авторизованный доступ к веб-API для приложений и пользователей
Какие типы приложений поддерживает AAD B2C?
AAD B2C не ограничена каким-либо конкретным языком или платформой и работает с большинством современных архитектур приложений – веб, мобильные, настольные, SPA и веб-API. Для аутентификации пользователей AAD B2C использует стандартные отраслевые протоколы, такие как OAuth 2.0 или OpenID Connect.
Как AAD B2C аутентифицирует пользователей?
AAD B2C работает как облачное расширение для приложений. Пользователи, не прошедшие проверку подлинности, перенаправляются в MS Azure, где они могут войти в систему и / или зарегистрироваться для новой учетной записи. После успешного входа в систему AAD B2C выдает токен и возвращает пользователя обратно в исходное приложение. Если SSO включен, пользователи могут продолжить работу с другими приложениями в «пуле» с тем же токеном. AAD B2C обеспечивает разработчикам полную гибкость для настройки всех этапов аутентификации, а также внешнего вида входа в систему/регистрации.
Насколько безопасна служба AAD B2C?
Если ваши приложения используют AAD B2C, Microsoft несет ответственность за весь процесс аутентификации, от принятия и проверки вводимых пользователем данных до безопасного хранения пользовательских данных в Azure Active Directory. Зарегистрированные приложения несут ответственность только за прием и проверку токенов доступа.
Аутентификация AAD B2C основана на JSON Web Tokens (JWT) — открытом стандарте (RFC 7519) для безопасной передачи информации между сторонами внутри компактных токенов с цифровой подписью.
Нужно ли мне переписывать свои приложения для использования AAD B2C?
Приложения, использующие AAD B2C, должны иметь возможность делать две вещи: перенаправлять пользователей в AAD B2C и принимать / проверять токены JWT, которые генерирует облачное решение. Это единственные изменения, которые нужно внести самостоятельно. Для этого существуют десятки библиотек (для .NET, Java, PHP, Python, JavaScript и т. д.). Всю сложную логику, связанная с принятием и очисткой пользовательского ввода, запросом пользовательских БД, управлением сеансами единого входа и т. д., выполняет AAD B2C.
В пользовательском интерфейсе можно настроить все функции, включая SSO, MFA и интеграцию с социальными / корпоративными IDP. AAD B2C также предоставляет расширенные инструменты для создания настраиваемых возможностей аутентификации и интеграции с произвольными IDP и даже API.
Как выглядит типичный процесс внедрения?
Внедрение обычно состоит из тех этапов:
- Архитектурное планирование. На этапе планирования специалист по Azure просматривает существующие приложения и разрабатывает подходящую архитектуру для службы AAD B2C. Он может дать указания, какие изменения нужны в коде.
- Внедрение. На этапе внедрения служба AAD B2C создается и настраивается в MS Azure Cloud. В случае, если приложения не поддерживают каталоги, реализована также логика для приема и проверки токенов JWT.
- Миграция пользователей. На этапе миграции, если это требуется для проекта, пользователи перемещаются из существующего хранилища данных в каталог AAD B2C. Служба AAD B2C не должна хранить пользователей в облаке и может выполнять федеративную аутентификацию, например, через существующий ADFS.
Все еще сомневаетесь, подходит ли AAD B2C в вашем конкретном случае? Свяжитесь с любым нашим представителем.