2014-09-22 2 views
3

Я хочу безопасный способ хранения username и password API, если другие пользователи не видят его в моем облачном приложении Ruby on Rails. Безопасно ли сохранять их в качестве переменных среды?Как переменные среды работают внутри cloud9

Я знаю, что мой код c9 является общедоступным, но являются ли эти переменные общедоступными?

Как я могу получить к ним доступ в консоли рельсов? Я пробовал ENV["VARIABLE_NAME"], но это, похоже, не работает в консоли. Есть ли что-нибудь еще, что я должен делать?

+1

ли ответ на http://stackoverflow.com/questions/25927513/storing-securely-passwords-for-connection-to-db-in-opensource-projects помочь? –

+0

Нет, я видел этот ответ, но он не дает понять, как я использую его в консоли. Я также не могу заставить его работать в моем коде. (например, файл seed.rb) У меня такое чувство, что эти переменные работают только на вещи, для которых вам нужно запустить свой сервер? – Christoph

ответ

7

Вы можете определить переменные среды в ~/.profile. Файлы вне каталога рабочей области /home/ubuntu/workspace недоступны для пользователей только для чтения. Вы можете сделать, например.

$ echo "export SECRET=geheim" >> ~/.profile 

определить переменную SECRET, а затем использовать его через ENV["SECRET"] из приложения. Бегуны (из кнопки «запустить») и терминал будут оценивать ~/.profile и сделать переменную окружения доступной для вашего приложения.

смотри также Storing securely passwords for connection to DB in opensource projects

+0

Спасибо, это работает. Важно отметить, что я должен запускать сервер, как вы сказали. Также у пароля нет кавычек, которые я нахожу странными. – Christoph

+0

Вы также можете использовать терминал. Там будут также установлены переменные окружения. –

Смежные вопросы