В Accumulo вы можете обеспечить выполнение тех записей, которые возвращают итераторы Authorizations
и/или сервера.Выполнение редактирования и/или редактирование обновлений в mongodb
Какие существуют механизмы для обеспечения безопасности этого типа в MongoDb? Я знаю, что есть команда $redact
для агрегационных конвейеров, но она полагается на пользователя, чтобы ограничить свои собственные запросы.
Кроме того, как вы можете обеспечить, чтобы кто-то не выполнял обновление документа, если у них нет достаточных прав для обновления?
Так что, в принципе, ответ: «Нет, нет способа контролировать доступ к данным (сбор). Это все или ничего, и в этот момент вы в своей честь документируете документы, которые вы не должны видеть» – FuriousGeorge
Есть абсолютно способы контролировать доступ к коллекции с использованием модели безопасности на основе ролей и привилегий, как я описал. Если у вас есть права на чтение в коллекции и напрямую подключаются к базе данных, вы сможете увидеть все части всех документов в коллекции. Но, как показано, например, [в документах '$ redact'] (http://docs.mongodb.org/manual/reference/operator/aggregation/redact/) вы можете контролировать доступ к частям документов с использованием промежуточного программного обеспечения и $ redact. – wdberkeley
Так, как вы сказали - вы не можете сделать это * в БД * (например, Accumulo). У вас должно быть решение промежуточного уровня, которое вы должны навязать людям. Пример. У меня есть коллекция записей сотрудников. Мне нужна команда, чтобы иметь возможность видеть контактную информацию о своих подчиненных, но я не хочу, чтобы они видели информацию о зарплате. HR должен уметь все видеть. Оба будут иметь доступ READ, но руководители команд смогут увидеть информацию о зарплате, если я не заставлю их пройти через прокси. Это не очень хорошо подходит для общих решений. – FuriousGeorge