2013-11-20 7 views
0

Я запускаю сервер пирамиды, которому необходимо получить доступ к монго с аутентификацией. Оба сервера (DB и Pyramid) работают на одном компьютере. Согласно pyramid/pymongo документации, я могу использовать URI как,Лучший способ аутентификации MongoDB с пирамидой

uri = "mongodb://user:[email protected]/the_database" 

и аутентификации. Однако это кажется очень незащищенным, поскольку любой, кто каким-то образом получает доступ к коду пирамиды, затем видит простой пароль (даже если это хэш), связанный с пользователем сервера.

Каков наилучший способ смягчить эту проблему?

Я думал пригласить пользователя, который запустил сервер для пароля для Mongo. Это хорошая идея? Кто-нибудь сделал что-то подобное в пирамиде?

Или я должен хранить пароль в безопасном месте на сервере, где только сервер пирамиды имеет доступ на чтение?

Каков предпочтительный способ? что, если я хочу получить доступ к серверу mongo с другого компьютера? какой метод лучше в этом случае?

Как вы его настроили? Огромное спасибо.

+0

Обычный шаблон, используемый также на Heroku, использует переменную окружения (import os; uri = os.environ ('MONGODSN')). Конечно, пользователь, работающий с пирамидой, должен быть безопасным. – dbra

+0

Извините, я понятия не имею, что он делает. Можете ли вы объяснить/указать мне где-нибудь? спасибо :) – xcorat

+1

os.environ выставлять в качестве Python dict переменные среды ОС гостевой системы (http://en.wikipedia.org/wiki/Environment_variable). Таким образом, ваш сценарий может просто предположить, что кто-то поставил в переменную среды вашу строку доступа, и вы это. – dbra

ответ

0

Обычный способ решения этого вопроса, если вы используете какое-либо программное обеспечение на многопользовательском сервере, состоит в том, чтобы убедиться, что серверное программное обеспечение работает в отдельной учетной записи пользователя, сохраните URI в INI-файле и убедитесь, что файл INI является доступной только для этой учетной записи пользователя. Это гарантирует, что только учетная запись пользователя программного обеспечения сервера (и любые учетные записи администратора) может видеть строку URI.

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