Создание баз данных пользователей на узлах

06 октября 2026

ID 307442

Развернуть всё | Свернуть всё

Для работы компонентов службы идентификации пользователей вам нужно настроить параметры подключения к базам данных PostgreSQL на основном и резервном узлах и вручную создать базы данных для хранения информации о пользователях и группах LDAP-пользователей с помощью PostgreSQL версии 15. Более подробную информацию о работе с базами данных вы можете получить на официальном сайте PostgreSQL.

Чтобы настроить подключение к базам данных PostgreSQL:

  1. Подключитесь к основному узлу.
  2. Установите PostgreSQL:

    sudo apt install postgresql -y

  3. Остановите PostgreSQL для внесения изменений в конфигурацию:

    sudo systemctl disable postgresql

    sudo systemctl stop postgresql

  4. Перейдите в директорию /etc/postgresql/15/main, откройте файл pg_hba.conf и добавьте в секции replication следующие строки:

    host replication all <IP-адрес основного узла> trust

    host replication all <IP-адрес резервного узла> trust

  5. В директории /etc/postgresql/15/main откройте файл postgresql.conf и измените значение параметра wal_level, затем измените значение параметра max_locks_per_transaction и закомментируйте строку unix_socket_directories следующим образом:

    wal_level = replica

    max_locks_per_transaction = 128

    #unix_socket_directories

  6. Перейдите в директорию /etc/parsec, откройте файл mswitch.conf и измените значение параметра zero_if_notfound на yes для подключения к базам данных.
  7. Переключитесь на резервный узел и повторите все шаги, описанные выше, для настройки PostgreSQL.

Параметры подключения к базам данных PostgreSQL настроены. Перейдите к созданию баз данных для компонентов службы идентификации пользователей.

Чтобы создать базы данных для информации о пользователях:

  1. Подключитесь к основному узлу и запустите PostgreSQL:

    sudo systemctl start postgresql

  2. Подключитесь к консоли PostgreSQL:

    sudo -u postgres psql

  3. Проверьте значение параметра max_locks_per_transact:

    SHOW max_locks_per_transaction;

    Должно отобразиться значение 128.

  4. Создайте пользователя uaws для использования компонентами службы идентификации пользователей:

    CREATE USER uaws WITH PASSWORD '<пароль>';

  5. Создайте базу данных пользователей для компонента MapApp.

    Команды для создания базы данных компонента MapApp

  6. Создайте базу данных групп LDAP-пользователей для компонента GroupApp.

    Команды для создания базы данных компонента GroupApp

  7. Создайте пользователя replicator для репликации баз данных между узлами:

    CREATE ROLE replicator WITH REPLICATION LOGIN PASSWORD <пароль>;

  8. Завершите работу с PostgreSQL на основном узле:

    \q

  9. Переключитесь на резервный узел.
  10. Продублируйте базы данных, созданные на основном узле, на резервный узел:

    sudo rm -rf /var/lib/pgsql/tmp/PGSQL.lock

    sudo -u postgres sh -c "rm -rf /var/lib/postgresql/*/main/*"

    sudo -u postgres pg_basebackup -h <IP-адрес основного узла> -D /var/lib/postgresql/15/main -P

  11. Переключитесь на основной узел и остановите PostgreSQL:

    sudo systemctl stop postgresql

Базы данных подготовлены и могут быть использованы компонентами службы идентификации пользователей.

Для дополнительной защиты мы рекомендуем запретить удаленное подключения пользователю postgres и разрешить подключаться пользователю uaws с выбранных ip-адресов.

Чтобы обеспечить дополнительную защиту:

  1. Откройте файл pg_hba.conf.
  2. Укажите следующие значения и параметры, если вы используете SSL-протокол для подключения:
    1. Запретите удаленное подключение для пользователя postgres:

      hostssl all postgres 0.0.0.0/0 reject

    2. Разрешите удаленное подключение для пользователя uaws с IP-адресов и подсети, из которой подключаются компоненты службы идентификации пользователей:

      hostssl all uaws <IP-адрес/подсеть> scram-sha-256

  3. Укажите следующие значения и параметры, если вы используете SSL-протокол для подключения:
    1. Запретите удаленное SSL-подключение для пользователя postgres:

      host all postgres 0.0.0.0/0 reject

    2. Разрешите удаленное SSL-подключение для пользователя uaws с IP-адресов и подсети, из которой подключаются компоненты службы идентификации пользователей:

      host all uaws <IP-адрес/подсеть> scram-sha-256

  4. Откройте файл postgresql.conf.
  5. Укажите параметры SSL-сертификатов:

    ssl = on

    ssl_ca_file = '/etc/ssl/certs/ca.pem'

    ssl_cert_file = '/etc/ssl/certs/postgres.pem'

    ssl_key_file = '/etc/ssl/private/postgres.key'

Дополнительная защита будет установлена.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!