Моя компания решила использовать FreeIPA
, чтобы предоставить возможность Single Sign On
нашим сотрудникам.Я совсем не знаком с Kerberos
/ LDAP
и тому подобным, потому что я никогда раньше не использовал эти технологии.
У нас 70 пользователей - у них машины с ОС Windows, и SSO следует использовать для нескольких Python
(Django
) веб-приложений, веб-сайтов WordPress и, возможно, для Roundcube
веб-почты и OpenVPN
доступа.У них вообще нет доступа к веб-серверам, поэтому учетные записи SSH не важны для этой истории.
Наше веб-приложение python
имеет таблицу базы данных с данными пользователей, которая связана с некоторыми другими таблицами, иДля нас очень важно, чтобы каждый пользователь был добавлен в эти таблицы (через интерфейс нашего веб-приложения), потому что иначе наше приложение не будет работать должным образом.Имея это в виду, я хотел бы знать, есть ли способ как-то ссылаться на пользователя из базы данных FreeIPA's
в наших базах данных веб-приложений и wordpress, пример ниже: ![enter image description here](https://i.stack.imgur.com/zPzAQ.jpg)
Не у каждого пользователя есть доступ к каждому веб-приложению, и не у каждого пользователя одинаковые привилегии в этих приложениях.
Мы уже определили пользовательские привилегии в каждом веб-приложении в отдельности, и все работает идеально, поэтому основная цель - простосделать доступным SSO
для наших пользователей.Я не хочу беспокоиться о группах пользователей и привилегиях в системе FreeIPA
, смогу ли я избежать этого?Когда пользователь получает билет Kerberos
, я хочу, чтобы эти веб-приложения распознавали его / ее учетную запись, на которую ссылается соответствующая учетная запись пользователя в базе данных FreeIPA
, и поэтому имеют определенные привилегии в этих приложениях.
В этом сценарииОчевидно, что мне придется добавлять каждого нового пользователя два раза - в базу данных FreeIPA
и в базу данных веб-приложения, но это не проблема, я просто хочу как-то подключить / ссылаться на эти учетные записи пользователей.
РЕДАКТИРОВАТЬ в ответ Михаэля Стрёдера :
Как я вижу, мне нужно было бы добавить каждого существующего пользователя вручную в FreeIPA с помощью команды --uid, потому что FreeIPA автоматически предоставляет эти атрибуты каждому пользователю.Я согласен, я бы не использовал имена пользователей для UID, а только целые числа.Итак, я представлял себе, как это сделать - мне нужно было бы связать номер uid каждого пользователя со столбцом ID таблицы пользователя БД приложения.Допустим, если у Джона есть UID # 7, он также должен иметь ID # 7 в таблице WordPress wp_users, и это выглядит хорошо для меня.Я думаю, что я мог бы легко справиться с этим в моем собственном приложении Python, но я не уверен, как управлять этим в WordPress, есть ли какой-нибудь плагин, который можно использовать для таких вещей?Я нашел AuthLDAP, но я не уверен, что это правильный способ сделать это?Заранее спасибо