Vault — Хранение секретов

HashiCorp Vault — это подсистема управления секретами, которая позволяет централизованно хранить и безопасно управлять конфиденциальными данными — такими как пароли, токены доступа, API‑ключи, сертификаты и др. Vault шифрует все данные перед записью, контролирует доступ на основе гибких политик (ACL) и обеспечивает аудит запросов. Одной из ключевых особенностей является автоматическая генерация временных (динамических) секретов с ограниченным сроком действия, что существенно снижает риски при утечке.

Подсистема обычно является частью платформы, располагается на LCM-узле и доступна по адресу https://vault.<имя домена>.

Также существует возможность настройки и использования собственного хранилища Vault.

Основной файл с секретами называется passwords_yml и в базовой инсталляции расположен в директории secret_v2 / deployments / <LCM FQDN> / secrets / accounts.

При использовании собственного хранилища Vault путь к файлу passwords_yaml может быть произвольным. Для конфигурации собственного хранилища выполните следующие действия:

  1. Откройте веб-интерфейс развернутого GitLab.

  2. Откройте проект project_k / deployments / <имя региона>.

  3. Перейдите в раздел Settings > CI/CD > Variables и укажите значения переменных:

    • vault_addr — адрес сервиса Vault (https://<FQDN сервиса Vault>);

    • vault_engine — путь к хранилищу (secret store v2);

    • vault_method — метод аутентификации:jwt или password;

    • vault_password — заполните, если используется пароль для доступа к Vault;

    • vault_prefix — путь директории региона, не включая passwords_yml, например, deployments/lcm.cloud.itkey.com/my_region;

    • vault_roleitkey_deployments (не менять);

    • vault_username — укажите имя пользователя для доступа в Vault в случае использования парольной аутентификации.

В случае перезапуска контейнера Vault или перезапуска LCM-сервера, разблокируйте Vault unseal-ключом, полученным при установке платформы:

$ docker exec -it vault vault operator unseal

Система запросит ключ, который требуется ввести.