Наборы только для записи в MongoDB

Я в настоящее время использую MongoDB для записи журналов приложения, и в то время как я довольно доволен и производительностью и способностью вывести произвольные структурированные данные в записи журнала, я обеспокоен переменчивостью записей журнала, однажды сохраненных.

В традиционной базе данных я структурировал бы предоставления на свои таблицы журнала, таким образом, что пользователь приложения имел, ВСТАВЛЯЮТ и ВЫБИРАЮТ полномочия, но не ОБНОВЛЯЮТ или УДАЛЯЮТ. Точно так же в CouchDB, я мог записать функцию блока проверки допустимости обновления, которая отклонила все попытки изменить существующий документ.

Однако я не мог найти способ ограничить операции на базе данных MongoDB или наборе вне этих трех уровней доступа (никакой доступ, только для чтения, "режим бога") зарегистрированный в тему безопасности на MongoDB wiki.

Кто-либо еще развернул MongoDB как хранилище документа в установке, где неизменность (или по крайней мере отслеживание изменений) для документов была требованием? Какие приемы или методы Вы использовали, чтобы гарантировать, что код плохо записанного или вредоносного приложения не мог изменить или уничтожить существующие записи журнала? Я должен перенести свой MongoDB, входящий в систему уровень служб, который осуществляет политику только для записи, или я могу использовать некоторую комбинацию конфигурации, взламывания запроса и репликации, чтобы гарантировать, что последовательная, контрольно-способная запись сохраняется?

9
задан Community 22 September 2017 в 08:01
поделиться

2 ответа

Я бы сказал, что лучше всего завершить доступ в MongoDB на уровне обслуживания, который обеспечивает выполнение ваших конкретных контрактов. Мы мало что делаем в плане детального контроля доступа, потому что существует так много разных случаев, что правильно решить все из них сложно. Так что по большей части реализация такого рода элементов управления зависит от уровня приложения.

8
ответ дан 3 November 2019 в 01:55
поделиться

В MongoDB 1.3.2+ вы можете добавить некоторые ограничения в пользователя :

db.addUser("guest", "passwordForGuest", true)

Но это только существующее сейчас, не лучше. Возможно, вы можете добавить какую-то функцию

см. информацию в документации MongoDB: http://www.mongodb.org/display/DOCS/Security+and+Authentication

0
ответ дан 3 November 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: