Безопасное предоставление пароля базы данных в приложении Rails

Как вы знаете, вы ДОЛЖНЫ предоставить правильное имя базы данных, имя пользователя и пароль для базы данных в файле config / database.yml, иначе ваше приложение Rails откажется работать.

В настройках по умолчанию ваш пароль находится в виде простого текста в файле config / database.yml. Если ваше приложение находится в бесплатном репозитории GitHub, то ваш пароль является общедоступной информацией. Это не жизнеспособный вариант для серьезного приложения. (Это нормально для учебного упражнения, при условии, что вы не используете этот пароль ни для чего другого.)

У меня есть решение, которое до сих пор работало для меня, но мне интересно, есть ли что-то лучше. Вы можете увидеть мой развернутый пример наhttps://github.com/jhsu802701/bsf .

Что я делаю, так это настраиваю файл config / database.yml, чтобы программно предоставлять имя пользователя и пароль для среды разработки. Для среды разработки я добавляю команды в скрипт config / database.yml, чтобы получить имя пользователя среды разработки (которое является моим обычным именем пользователя для используемой установки Debian Linux) и пустой пароль. (Я предоставляю свое имя пользователя Postgres привилегии суперпользователя.) Для производственной среды я добавляю команду в сценарий развертывания, которая получает имя пользователя и пароль из файлов в другом месте моей учетной записи и записывает эту информацию в файл config / database.yml.

Есть ли лучшее решение?

Есть ли рубиновый камень, который покрывает это? Если нет, я думаю о создании.

Ответы на вопрос(4)

Ваш ответ на вопрос