wiki-js/DevOps/Hashicorp-Vault/vault-postgresql-users.md

3.1 KiB
Raw Blame History

title description published date tags editor dateCreated
PostgreSQL через Vault - управление динамическими учетными записями true 2024-08-01T14:55:31.582Z vault, postgresql markdown 2024-08-01T14:55:31.582Z

Управление динамическими учетными записями в PostgreSQL через Hashicorp Vault

В инструкции мы рассмотрим процесс хранения учетной записи PostgreSQL в хранилище секретов Hashicorp Vault, используя механизм database, с возможностью автоматической смены секрета в СУБД при его смене в Vault. Также мы настроим Vault для создания временных учетных записей в PostgreSQL.

Настройка прав PostgreSQL

На сервере PostgreSQL нам необходимо:

  • Задать пароль для пользователя postgres.
  • Создать пользователя, пароль для которого мы будем хранить в Vault.
  • Разрешить подключение к базе данных для postgres и созданного пользователя.
  • Открыть порт 5432 для удаленного подключения.
  • Проверить доступы.

Рассмотрим действия по шагам.

Задаем пароль для postgres

Данные действия необходимы, если мы не задавали пароль для пользователя postgres или мы не знаем данный пароль.

Стоит иметь ввиду, что данный пользователь может использоваться другими приложениями — таким образом, смена пароля приведет к потере их работоспособности. В этом случае, стоит уточнить текущий пароль и использовать его.

Заходим под пользователем postgres и подключаемся к СУБД:

su - postgres
$ psql

Вводим:

=# ALTER USER postgres PASSWORD 'password';

в данном примере мы задаем пароль password для пользователя postgres.

Создаем нового пользователя

На данном шаге мы создадим пользователя, для которого и будем хранить секрет в Vault. В рамках примера мы не будем его предоставлять никаких доступов. Для нас достаточно, чтобы мы могли подключиться и удостовериться, что пароль будет меняться.

В той же командной оболочке postgresql вводим:

=# CREATE USER dmosk WITH PASSWORD 'myPassword';

с помощью данной команды мы создадим пользователя dmosk с паролем myPassword.