Сервисы

secret-manager

Хранилище секретов Conveyor — метаданные в Postgres, шифрование значений через Vault Transit, резолв в рантайме.

secret-manager хранит секреты пользователей: метаданные в Postgres, а сами значения шифруются через Vault Transit. Резолвит секреты в рантайме по TCP-запросам от api и движка.

На какие вопросы отвечает раздел: Где лежат секреты и как они шифруются? Кто их запрашивает? Что нужно для работы?

Цель

Безопасно хранить и выдавать секреты процессам, не раскрывая значения в логах и БД оркестрации.

Задачи

  • CRUD секретов (метаданные в Postgres);
  • шифрование/дешифрование значений через Vault Transit;
  • резолв секретов по TCP для api и runtime-engine/CP.

Требования

  • PostgreSQL (метаданные);
  • HashiCorp Vault с включённым Transit-движком и ключом (миграция на MIT-лицензированные аналоги — TBD в каталоге).

Ограничения

  • в Postgres хранятся метаданные; значения шифруются через Vault Transit.
  • резолв доступен по внутреннему TCP внутри сети платформы.

Настройки и переменные окружения

ПеременнаяЗачемНа что влияетПо умолчанию
SECRETS_TCP_LISTENАдрес TCP-сервисаПорт/интерфейс резолва секретов0.0.0.0:3000
DATABASE_URLПодключение к PostgresХранение метаданных секретов
VAULT_ADDRАдрес VaultКуда ходить за шифрованиемhttp://vault:8200
VAULT_TOKENТокен VaultДоступ к Transit
VAULT_TRANSIT_MOUNTMount Transit-движкаГде расположен Transittransit
VAULT_TRANSIT_KEY_NAMEИмя ключа шифрованияКаким ключом шифруются значенияflowforge-secrets

Дальше