Sobes.tech
Back to questions
Senior
1

Знаешь ли ты способы доставки секретов без Vault Agent Injector? Как хранить зашифрованные секреты в Git?

Companies where asked
S8 Capital

Answer from AI

sobes.tech AI

Без использования Vault Agent Injector существуют несколько способов доставки секретов и хранения зашифрованных секретов в Git:

  1. Шифрование секретов перед коммитом в Git

    • Использование инструментов вроде git-crypt или BlackBox, которые позволяют шифровать определённые файлы в репозитории.
    • Ключи шифрования хранятся отдельно и предоставляются только доверенным пользователям.
  2. Использование KMS (Key Management Service)

    • Хранить секреты в зашифрованном виде, используя облачные KMS (AWS KMS, GCP KMS, Azure Key Vault).
    • В CI/CD процессе происходит расшифровка секретов с помощью KMS.
  3. Шифрование с помощью SOPS (Secrets OPerationS)

    • Инструмент от Mozilla, который позволяет шифровать YAML/JSON/ENV файлы с помощью KMS или PGP.
    • Файлы хранятся в репозитории в зашифрованном виде и расшифровываются при деплое.
  4. Доставка секретов через CI/CD

    • Секреты хранятся в защищённых переменных CI/CD систем (GitLab CI, GitHub Actions, Jenkins).
    • Во время сборки/деплоя секреты подставляются в окружение.
  5. Использование HashiCorp Vault API напрямую

    • Вместо агента можно писать код, который напрямую обращается к Vault для получения секретов.

Таким образом, хранение зашифрованных секретов в Git обычно реализуется через инструменты шифрования файлов (git-crypt, SOPS) с управлением ключами отдельно, а доставка секретов — через защищённые каналы и переменные окружения в CI/CD без необходимости использования Vault Agent Injector.