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

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

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

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

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

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

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

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

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

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

Сервер базы данных располагается на отдельном компьютере:

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

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

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

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

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

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

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

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

Настройка и тестирование приложения на языке программирования C##

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

Пункт 1#

  • В терминале из домашней директории выполнить команду создания шаблона:

dotnet new console -n Test

Пункт 2#

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

dotnet add package Npgsql

Пункт 3#

  • Перезаписать код, находящийся в файле Program.cs:

using Npgsql;

class Program
{
    static void Main()
    {
        // Параметр "Include Realm=true;" указывает, что realm сервиса должен быть задан в имени пользователя (в данном случае, realm=".astra.ccc")
        var cs = "Host=dbsrv-01.astra.aaa;Port=5432;Database=postgres;Include Realm=true;";
        using (var con = new NpgsqlConnection(cs))
        {
            try
            {
                con.Open();
                Console.WriteLine("Подключение успешно установлено!");
                using (var cmd = new NpgsqlCommand("SELECT VERSION();", con))
                {
                    var verion = cmd.ExecuteScalar();
                    Console.WriteLine($"Версия PostgreSQL: {verion}");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Ошибка подключения к PostgreSQL: {ex.Message}");
            }
            finally
            {
                con.Close();
                Console.WriteLine("Подключение закрыто.");
            }
        }
    }
}

Пункт 4#

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

dotnet run

Пункт 5#

  • Результат выполнения кода должен быть аналогичен выводу ниже:

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