Подготовка к использованию централизованного хранилища секретов HashiCorp Vault 1.16.3
Аутентификационная информация (далее по тексту — секрет) для подключения к СУБД PostgreSQL, с целью резервного копирования или восстановления данных СУБД, хранится в конфигурационном файле, что не является безопасным подходом, т.к. злоумышленники могу получить доступ к содержимому файла, если он недостаточно защищён.
Более безопасным подходом к хранению секретов является использование инструмента управления секретами, таким как HashiCorp Vault. Эта система позволяет шифровать секреты и хранить их в безопасном хранилище, к которому имеют доступ авторизованные пользователи СРК RuBackup с соответствующими правами доступа.
Интеграция СРК RuBackup с хранилищем секретов HashiCorp Vault происходит через основной сервер (при его недоступности — через резервный сервер) посредством интерфейса REST API.
Интеграция СРК RuBackup с хранилищем секретов HashiCorp Vault поддерживается только при создании и восстановлении полных и инкрементальных резервных копий.
1. Права доступа
Права доступа к секретам хранилища предоставляются пользователям СРК RuBackup в соответствии с таблицей.
Редактирование данных хранилища секретов |
+ |
— |
— |
— |
— |
---|---|---|---|---|---|
Добавление данных хранилища секретов |
+ |
— |
— |
— |
— |
Удаление данных хранилища секретов |
+ |
— |
— |
— |
— |
Добавление методов получения секретов в СРК |
+ |
— |
— |
— |
— |
Просмотр методов получения секретов в СРК |
+ |
С |
— |
— |
С |
Редактирование методов получения секретов в СРК |
+ |
— |
— |
— |
— |
Удаление методов получения секретов в СРК |
+ |
— |
— |
— |
— |
Назначение доступа к методам получения секретов в СРК |
+ |
— |
— |
— |
— |
Примечание: С — доступ назначает Суперпользователь на выбранный метод |
2. Подготовка к использованию
Предварительно следует:
-
Получите следующие данные от Администратора хранилища секретов:
-
подтверждение, что секрет создан в хранилище секретов HashiCorp Vault. Один секрет может содержать несколько наборов аутентификационной информации в формате .json;
-
токен для доступа к хранилищу секретов HashiCorp Vault;
-
метод доступа к секрету.
-
-
На хосте с развёрнутым RBM, посредством которого будет производится резервное копирование и восстановление данных СУБД PostgreSQL, необходимо:
-
добавить запись о сервере хранилища секретов HashiCorp в файл
/etc/hosts
, например, выполнив в терминале команду:sudo echo "ip-address hostname" >> /etc/hosts
где:
-
ip-address
— ip адрес сервера хранилища секретов HashiCorp. -
hostname
— имя сервера хранилища секретов HashiCorp.
-
-
-
сгенерировать запрос на сертификат и подписать его на сервере хранилища секретов HashiCorp (для использования метода https), выполнив в терминале команду:
sudo openssl s_client -showcerts -servername hostname -connect hostname:8200 > /tmp/cacert.pem
где:
-
hostname
— имя сервера хранилища секретов HashiCorp; -
8200
— порт (по умолчанию) для прослушивания запросов к хранилищу секретов HashiCorp Vault по безопасному протоколу https; -
/tmp/
— папка, в которую будет сохранён сгенерированный и подписанный сертификат; -
cacert.pem
— имя файла сертификата в формате .pem, подписанного на сервере хранилища секретов HashiCorp.
-
-
Суперпользователь СРК RuBackup должен произвести следующие настройки для использования секретов хранилища HashiCorp Vault:
-
в конфигурационном файле модуля
rb_module_postgresql.conf
добавьте параметр использования Хранилищаuse_secret_storage
со значениемyes
; -
в конфигурационном файле модуля
rb_module_postgresql.conf
удалите параметры, например, username и/или password, которые содержит используемый секрет; -
после авторизации в RBM с правами суперпользователя произведите настройки для работы с хранилищем секретов:
-
добавьте хранилище секретов;
-
добавьте метод получения секрета в хранилище;
-
назначьте Администратору и/или Супервайзеру доступный метод получения секрета.
-
-