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

  • мандатное управление доступом (МРД)