Я запускаю сервер пирамиды, которому необходимо получить доступ к монго с аутентификацией. Оба сервера (DB и Pyramid) работают на одном компьютере. Согласно pyramid/pymongo документации, я могу использовать URI как,Лучший способ аутентификации MongoDB с пирамидой
uri = "mongodb://user:[email protected]/the_database"
и аутентификации. Однако это кажется очень незащищенным, поскольку любой, кто каким-то образом получает доступ к коду пирамиды, затем видит простой пароль (даже если это хэш), связанный с пользователем сервера.
Каков наилучший способ смягчить эту проблему?
Я думал пригласить пользователя, который запустил сервер для пароля для Mongo. Это хорошая идея? Кто-нибудь сделал что-то подобное в пирамиде?
Или я должен хранить пароль в безопасном месте на сервере, где только сервер пирамиды имеет доступ на чтение?
Каков предпочтительный способ? что, если я хочу получить доступ к серверу mongo с другого компьютера? какой метод лучше в этом случае?
Как вы его настроили? Огромное спасибо.
Обычный шаблон, используемый также на Heroku, использует переменную окружения (import os; uri = os.environ ('MONGODSN')). Конечно, пользователь, работающий с пирамидой, должен быть безопасным. – dbra
Извините, я понятия не имею, что он делает. Можете ли вы объяснить/указать мне где-нибудь? спасибо :) – xcorat
os.environ выставлять в качестве Python dict переменные среды ОС гостевой системы (http://en.wikipedia.org/wiki/Environment_variable). Таким образом, ваш сценарий может просто предположить, что кто-то поставил в переменную среды вашу строку доступа, и вы это. – dbra