$ sudo teach IT

Проблема: Секреты (пароли, ключи API, TLS-сертификаты, токены доступа) НЕ ДОЛЖНЫ храниться в коде, конфигурационных файлах или системах контроля версий (Git).

Решение: Использование специализированных хранилищ секретов (Secrets Storage).

Принципы работы (на примере HashiCorp Vault):

  1. Безопасное хранение: Шифрование "в покое" (at rest).
  2. Динамические секреты: Генерация уникальных учетных данных (например, для БД) на короткий срок с автоматическим отзывом.
  3. Аудит: Детальное логирование всех операций доступа.
  4. Политики доступа (Policies): Тонкая настройка: какое приложение/пользователь к какому секрету имеет доступ.
  5. Интеграция: Выдача секретов приложению при старте через sidecar-контейнер, агент или SDK.

Альтернативы: AWS Secrets Manager, Azure Key Vault, Google Secret Manager, Kubernetes Secrets (базовый функционал).

Ключевая практика: Секреты инжектируются (inject) в среду выполнения приложения, а не хранятся в нем.