Настройка Kerberos аутентификации в ЕПП#

Исходные данные#

Имеется сервер контроллера домена FreeIPA:

  • имя домена astra.aaa

  • администратор домена admin@astra.aaa

  • пользователь домена user-01@astra.aaa

  • имя сервер аdc-01.astra.aaa

  • сервер имеет постоянный IP-адрес, например, 192.168.1.20

Пользовательский компьютер располагается на отдельном компьютере:

  • имя компьютера pc-01.astra.aaa

  • компьютер должен быть введен в домен

  • компьютер имеет постоянный IP-адрес, например, 192.168.1.22

База данных располагается на отдельном сервере:

  • имя сервера dbsrv-01.astra.aaa

  • сервер должен быть введен в домен

  • сервер имеет постоянный IP-адрес, например, 192.168.1.23

  • настроенная для GSS СУБД Postgresql

Настройка компьютера пользователя#

Для настройки компьютера пользователя необходимо перейти по ссылке и выполнить действия по инструкции:

Настройка сервера базы данных#

Для настройки сервера базы данных необходимо перейти по ссылке и выполнить действия по инструкции:

Настройка приложения#

Пункт 1#

  • установить пакет драйвера подключения к базе данных psycopg2:

sudo apt install psycopg2

Пункт 2#

  • создать в домашней директории пользователя файл app.py и сохранить в него код:

import psycopg2

# Параметры подключения
conn_params = {
    "host": "dbsrv-01.astra.aaa",
    "port": "5432",
    "dbname": "postgres",
    "sslmode": "require", # Опционально, если используется SSL
    "gssencmode": "prefer", # Использовать GSSAPI для шифрования
}

# Подключение к базе данных
try:
    conn = psycopg2.connect(**conn_params)
    cursor = conn.cursor()
    print("Подключение успешно установлено!")

    # Пример выполнения запроса
    cursor.execute("SELECT version();")
    db_version = cursor.fetchone()
    print("Версия PostgreSQL:", db_version[0])

except psycopg2.Error as e:
    print("Ошибка при подключении к PostgreSQL:", e)

finally:
    if conn:
       cursor.close()
       conn.close()
       print("Подключение закрыто.")

Тестирование приложения#

Пункт 1#

  • открыть терминал, и из домашней папки пользователя вызвать следующую команду, для тестирования приложения:

python3 app.py

Пункт 2#

  • gроверить результат, он должен иметь вид:

Подключение успешно установлено!
Версия PostgreSQL: PostgreSQL 15.6 (Debian 15.6-astra.se2+b1) on x86_64-pc-linux-gnu, compiled by gcc (Astra 12.2.0-14.astra3+b1) 12.2.0, 64-bit
Подключение закрыто.