Где и как хранить пароли в RoR приложениях

В этой заметке речь пойдет о том, как можно хранить все секретные данные в одном месте как в development,
так и в production окружении. В этом нам поможет плагин для rbenv -
rbenv-vars.

Немного о плагине:

rbenv-vars позволяет объявлять переменные окружения. Выглядит это так - в том месте кода,
где нужно вписать секретные данные, мы добавляем конструкцию вида:

1
2
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

Все пароли и ключи хранятся в одном файле .rbenv-vars в корневом каталоге приложения. Файл выглядит примерно так:

1
2
3
SECRET_KEY_BASE=key
DB_USER=user
DB_PASS=password

Файл .rbenv-vars надо добавить в .gitignore. Конфигурационные файлы можно добавлять в репозиторий - они теперь
не содержат секретных данных.

Поделиться Комментарии