Настройка и тестирование десктопного приложения с Kerberos аутентификацией

Настройка и тестирование десктопного приложения с 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("Подключение закрыто.")

Шаг 3#

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

python3 test.py

Шаг 4#

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

Подключение успешно установлено!
Версия 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
Подключение закрыто.