Сервер централизованной аутентификации OpenAM vs FreeRadius
Основное требование состоит в том, чтобы централизовать аутентификацию и авторизацию нескольких приложений SaaS, чтобы упростить разработку (каждое приложение SaaS использует минимальный код для аутентификации на одном источнике) и при необходимости обеспечить единый вход. Механизм аутентификации должен обрабатывать следующие опции, доступные пользователю:
- Использовать стороннюю аутентификацию - Google
- Используйте нашу централизованную аутентификацию
- Использовать корпоративную аутентификацию (ADFS)
В своем исследовании я нашел много-много способов сделать это, и обнаружил, что OpenAM является наиболее полным решением, но потом я наткнулся на FreeRadius, который также можно использовать.
Мои вопросы:
Кажется, есть плагин для каждого инструмента, где один может использовать другой вместе (OpenAM - аутентификация на сервере радиуса), но есть ли какой-то случай, когда FreeRadius предпочтительнее в качестве сервера аутентификации SOLE, чем OpenAM.
Требует ли OpenAM, чтобы веб-агент, установленный для сервера - если все, что я делаю, - это обслуживание Restful Interface (разработанного в Node.js), - возможно ли аутентифицировать пользователей без установки веб-агента (для Node нет веб-агента). JS).
Могу ли я передавать учетные данные пользователя из Браузера -> Сервер (node.js) -> OpenAM, не предоставляя пользователю экран входа в систему OpenAM. Токен OpenAM будет передаваться из OpenAM -> Сервер -> Браузер (устанавливая источник файлов cookie как приложение SaaS. То есть каждый сервер приложений SaaS будет служить "прокси" для управления пользователями (аутентификации, авторизации и управления [create| обновить | удалить] пользователей)
Спасибо
2 ответа
Я рано начал играть в игру Open Identity Stack, но я развертываю решение на основе OpenAM (и OpenIDM + OpenDJ) для обработки именно тех решений, о которых вы упомянули.
прямые ответы:
- Что касается передачи единоличной аутентификации FreeRadius, я не понимаю, почему вы этого хотите, но все возможно. Учитывая ваше упоминание о нескольких каталогах (источники удостоверений - google, ADFS и ваша централизованная аутентификация), я думаю, что было бы целесообразно подключить OpenAM для обеспечения аутентификации RADIUS (то есть ловушка OpenAM RADIUS, а не FreeRadius).
- Нет, веб-агент не должен применяться, но это может иметь смысл. Есть некоторые кусочки node.js, которые могут вам помочь ( https://github.com/alesium/node-openam). Вам просто нужно поговорить с вашего сервера на стороне OpenAM (REST), и это должно быть хорошо.
- Вы можете сделать это или вы можете сделать скин для входа в OpenAM, чтобы он выглядел как ваш собственный. Я бы предложил последнее, так как вы полагаетесь на OpenAM для безопасности экрана входа. Если вы используете чистый прокси, вы берете на себя это бремя. Ваш звонок как дизайнерское решение очевидно.
удачи!
Вы сравниваете сервер RADIUS с решением Web SSO... Я не уверен, имеет ли это смысл.
Похоже, у FreeRadius не так много "аутентичных бэкэндов" (например, Oauth для использования Google Auth).
Я сам ищу решение для аналогичного требования, но я также собираюсь интегрировать 2FA. Я видел так много разных решений, но пока не нашел лучшего. Вот что я придумала до сих пор:
- RCDev OpenID кажется довольно полным и бесплатен для случаев с менее чем 40 пользователями.
- GreenRADIUS от Green Rocket стоит дорого, но у них есть плагины для каждого сценария, и он может работать.
- KeyCloak от Red Hat можно использовать в сочетании с TACACS+ или FreeRADIUS для достижения этой цели.