Kerberos аутентификация в веб приложениях#
Общая информация.#
В домене Freeipa имеется возможность, используя внутренние средства безопасности ALSE, осуществлять сквозную аутентификацию по билету Kerberos.
Сквозная аутентификация дает возможность создать систему с единой точкой входа(SSO).
Рассмотрим пример веб-приложения, трёхзвенного.
Клиентом, первым звеном, является браузер на машине введённой в домен Freeipa, пользователем домена вошедшим в сессию на этой машине.
Вторым звеном является машина введённая в домен с веб-сервером Apache2 и приложением.
Третьим звеном является машина введённая в домен Freeipa, с настроенной для режима аутентификации по протоколу Kerberos(GSS) СУБД Postgresql.
Браузер использую билет Kerberos и доменное имя пользователя, взятые из контекста сессии пользователя, обращается к веб-серверу Apache2 который делегирует выполнение запроса приложению, приложение обращается к БД и получает ответ от БД без использования логина и пароля.
В приложении за передачу вышеуказанных параметров и соединения с БД отвечает, драйвер подключения к БД.
Драйвер имеется практически во всех современных языках программирования в виде библиотеки.
Языки программирования и драйвера подключения к базе данных Postgresql, поддерживающие технологию Kerberos аутентификации GSS:#
Python, psycopg2
C# , Npgsql
Разграничение прав доступа к информации хранящейся в БД, осуществляется внутренними средствами СУБД Postgresql:#
row level security
column level security
мандатное управление доступом (МРД)