====== Настройка хранения строк подключения в Hashicorp Vault ====== ''Начиная с версии системы 3.30'', чтобы повысить безопасность хранения секретов (паролей, токенов/маркеров-доступа, API-ключей, закрытых криптографических ключей и т.п.) можно настроить подключение системы ADVANTA к СУБД или сервису [[product:settings:system:active_directory|Active Directory]] через сервис хранения секретов HashiCorp Vault. В этом случае в системе или файлах конфигурации не будут храниться пароли к сервисам и службам компании. Для этого в настройках конфигурационного файла системы ''client.config'' необходимо: - Добавить раздел с указанием использования сервиса хранения секретов. - Добавить раздел с перечнем ключей, получаемых из сервиса хранения секретов для строк соединения с СУБД. - Добавить раздел для получения секрета для сервисов [[product:settings:system:active_directory|Active Directory]] (если используется). - После получения секретов, добавить алгоритм замены паролей - выполняется получение всех секретов и их перечень интерпретируется как набор именованных ключей, после чего, выполняется подстановка значений найденных ключей на их значение. ===== Изменения в конфигурационном файле ===== Необходимые изменения в конфигурационном файле ''client.config'' для запуска системы через получение паролей из сервиса хранения секретов HashiCorp Vault: - В разделе '''' добавить обработку наличия секции ''
'', которая будет использоваться как индикатор необходимости использовать Hashicorp Vault. - В разделе '''' добавить проверку и обработку секций: ''''. Секция ''hashiCorpVault'' содержит обязательные атрибуты: * ''address'' – адрес сервера Vault, обязательный; * ''roleId'' – идентификатор (GUID) роли, обязательный; * ''secretId'' – идентификатор (GUID) секрета, обязательный; * ''version'' – обязательный параметр, версия контейнера. Возможные варианты: V1, V2. * ''mountPoint'' – обязательный параметр, точка монтирования контейнера секретов; * ''path'' - обязательный параметр, путь к секретам. ===== Примеры фрагментов из конфигурационного файла ===== В конфигурационном файле ''client.config'' выполняется поиск ключей вида ''{$key$}'' и замена их на значения ''keyValue'', полученные из ''Vault''. При наличии в секции '''' секции '''', пароли будут считаны из хранилища секретов как названия ключей и их значений (пары ''key'', ''keyValue''), для последующей замены. Названия ключей в хранилище секретов должны соответствовать всем ''{$key$}'' в заменяемых фрагментах. Проверяются на наличие строк шаблона разделы файла конфигурации: * настройки приложения - секция '''', атрибут ''value''; * настройки [[product:settings:system:active_directory|Active Directory]] - секция ''''/'''', атрибуты: ''login'', ''password'', ''ldappath''; * настройки [[product:settings:system:open_id|openIdConnect]] - секция ''''/'''', атрибут ''clientSecret''. Пример фрагмента из ''client.config'': …………. ………….. В примере для двух ''connectionString'' name=''″db″'' и ''″dbCubes″'', размещены ключи: ''{$db$}'', ''{$busDB$}'', ''{$dbCubes$}'' - они будут заменены на их значения из хранилища секретов.