4

pg_hba.conf

Формат файла, типы записей, методы аутентификации

30 минУрок 4 из 7
Прогресс0%

Теория

pg_hba.conf — файл конфигурации аутентификации PostgreSQL (Host-Based Authentication).

Определяет, какие пользователи могут подключаться с каких хостов и каким методом.

Формат записи: TYPE DATABASE USER ADDRESS METHOD

Порядок записей важен — PostgreSQL проверяет сверху вниз и использует первое совпадение.

Практика

1. Просмотр текущего pg_hba.conf

Посмотрите текущие настройки аутентификации:

Просмотр текущего pg_hba.conf
Команда
sudo cat /etc/postgresql/16/main/pg_hba.conf | grep -v '^#' | grep -v '^$'
Вывод:
local   all             postgres                                peer
local   all             all                                     peer
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             ::1/128                 scram-sha-256

2. Настройка аутентификации для репликации

Добавьте запись для подключения реплики:

Настройка аутентификации для репликации
Команда
echo 'host replication replicator standby-ip/32 scram-sha-256' | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
Вывод:
host    replication     replicator      standby-ip/32   scram-sha-256

3. Настройка шифрованного подключения

Добавьте запись для SSL-подключений:

Настройка шифрованного подключения
Команда
echo 'hostssl all all 0.0.0.0/0 scram-sha-256' | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
Вывод:
hostssl all             all             0.0.0.0/0       scram-sha-256

Проверка

Проверьте, что записи добавлены:

Проверка
Команда
sudo grep -E 'host|hostssl' /etc/postgresql/16/main/pg_hba.conf | grep -v '^#'
Вывод:
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             ::1/128                 scram-sha-256
host    replication     replicator      standby-ip/32   scram-sha-256
hostssl all             all             0.0.0.0/0       scram-sha-256

Пройдите викторину

Для завершения урока необходимо пройти викторину