53 lines
3.1 KiB
Markdown
53 lines
3.1 KiB
Markdown
---
|
||
title: PostgreSQL через Vault - управление динамическими учетными записями
|
||
description:
|
||
published: true
|
||
date: 2024-08-01T14:55:31.582Z
|
||
tags: vault, postgresql
|
||
editor: markdown
|
||
dateCreated: 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.*
|
||
|