Недавно обсуждали с коллегами этот вопрос и вот, до чего договорились. Файл .env для хранения секретов для фронта не подходит, т.к.: 1) файл .env хранится в репозитории с кодом и секреты из него будут доступны всем, кто имеет доступ к репозиторию с кодом, 2) как правило, приложение для запуска собирается в контейнер (например, докер-контейнер). При использовании .env файла, нужно: - отдельно собирать контейнер для разных окружений (для разработки, для тестов и для продуктива), - продумывать механизм подстановки разных .env файлов для сборки контейнеров для разных сред. Файл .env для хранения секретов для бэкенда (jvm-стек) не подходит, т.к.: 1) те же причины, что и для фронта, 2) в jvm-стеке есть механизмы для передачи приложению параметров для запуска и переменных окружения (application.properties, gradle.properties, System.getenv("name"), Vault, Zookeeper, Etcd и т.д.), 3) можно случайно через актуатор раскрыть в проде переменные из .env файла. Выводы: При использовании .env файла дл
Чем может быть плохо использование .env файлов для хранения секретов
14 января 202514 янв 2025
5
1 мин