Вопрос или проблема
Я хочу реализовать провайдера идентификации. Я изучаю этот вопрос, но нашел программное обеспечение, которое было только “слоем идентификации” без решения для “хранилища пользователей”, как, например, Shibboleth. У меня есть следующие требования:
1- Я хочу предоставить аутентификацию/авторизацию для любого другого веб-сайта и приложения.
2- Я буду иметь несколько приложений, которым потребуется единая точка входа.
Примечание: Мне нужно программное обеспечение с хранилищем пользователей, чтобы хранить имена пользователей, пароли и другие атрибуты пользователей локально, в контексте решения authN/authZ или интегрированное с любым слоем идентификации, как Shibboleth.
Примечание: Я не хочу использовать какие-либо онлайн-сервисы, такие как Azure или продукты других компаний. Мне нужно локальное решение.
Примечание: Я не хочу использовать других провайдеров идентификации, таких как Google, Yahoo и т.д.
Примечание: Язык программирования и ОС не важны, поскольку это должно быть SOA, но C# и Windows предпочтительнее. Открытый код и бесплатность приветствуются.
Я попробовал Keylock и miniOrange On-Premise IDP, и оба они хорошо работали для меня, и, как вы указали свои требования выше, они также могут подойти вам. У них есть UI, который очень полезен, в отличие от Shibboleth. У них обоих есть все необходимые функции IAM.
Возможно, это поможет вам – https://idp.miniorange.com/#home
http://www.keycloak.org/
Я бы предложил keycloak как универсальное решение.
.
Ответ или решение
Для реализации локального провайдера идентификации (IdP) с полным набором функций аутентификации и авторизации, важно учитывать несколько ключевых требований и решений, которые соответствуют вашей специфике: поддержка авторизации для различных веб-сайтов и приложений, обеспечение единой точки входа (SSO) и наличие встроенного хранилища пользователей для локальных данных. Давайте подробней рассмотрим возможности и пути реализации, которые помогут вам достичь этих целей.
Обзор решений для локального IdP
-
Keycloak: Keycloak — это open-source решение, которое часто выбирают для построения систем идентификации благодаря его широким возможностям и гибкости. Keycloak предлагает полный набор функционала для управления пользователями и предоставления услуг аутентификации/авторизации. Оно поддерживает различные стандарты, такие как OAuth2, OpenID Connect и SAML, что делает его универсальным инструментом для интеграции с различными приложениями и сервисами.
-
miniOrange On-Premise IDP: miniOrange предлагает локальную версию своего провайдера идентификации, которая обладает интуитивно понятным интерфейсом и поддерживает большинство необходимых функций безопасности и управления доступом. Это решение также поддерживает инкапсуляцию данных пользователей в सुरक्षित хранилище, что соответствует вашим запросам на наличие локального пользовательского репозитория.
Причины выбора Open-Source решений
Гибкость и доступность: Open-source решения, такие как Keycloak, обеспечивают высокий уровень гибкости в настройке и модификации под специфические нужды вашего бизнеса. Это позволяет интегрировать их с любыми существующими системами и инструментами, ускоряя процессы и снижая стоимость реализации.
Безопасность и контроль: Вы можете гарантировать безопасность данных благодаря локальному хранению и полному контролю над всеми процессами аутентификации и авторизации, что особенно важно при отказе от облачных решений и сторонних провайдеров.
Широкая поддержка сообществом: Open-source проекты часто поддерживаются активными сообществами разработчиков, что гарантирует регулярные обновления и доступ к ресурсам для решения любых возникающих вопросов.
Рекомендация по реализации
Исходя из ваших потребностей и предпочтений, Keycloak может стать оптимальным выбором. Он позволяет настроить локальное хранилище пользователей, обладать всеми необходимыми компонентами для SSO, а также быть достаточно гибким для интеграции с существующими и новыми приложениями. Более того, он поддерживается на множестве платформ (включая Windows и C#) и обладает открытым исходным кодом.
В конечном счете, выбор зависит от конкретных функциональных требований ваших приложений и уровня поддерживаемой безопасности. Оба решения, Keycloak и miniOrange, предлагают достойные варианты, которые способны удовлетворить ваши запросы на внедрение локального провайдера идентификации, сохраняя при этом все преимущества управляемой и защищенной инфраструктуры.