2016-01-29 3 views
1

У нас есть сервер RavenDB с установкой Master-Slave. Существует одна основная БД, где документы записываются через один процесс, которые затем реплицируются на подчиненные.Безопасность/разрешения уровня сбора RavenDB (для репликации только для чтения)?

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

При поиске вариантов безопасности мы находим его на уровне БД и на уровне документа (с использованием пакета авторизации). Первый делает всю БД только для чтения, что не должно быть. Второй слишком запутан и предназначен для более тонкой защиты, которой мы не нуждаемся.

Мы надеялись, что веб-приложение сможет подключаться к RavenDB с определенным контекстом учетных данных (а не пользователями приложения, но системным пользователем, на котором работает веб-сайт), где некоторые коллекции будут доступны только для чтения для этого удостоверения. Это вполне возможно в SQL Server, например.

Любые альтернативные решения, такие как репликация документов как только для чтения, также приветствуются. Наша лучшая идея состоит в том, чтобы поставить триггеры на сервер, которые делают необходимые документы доступными только для чтения в подчиненных базах данных.

ответ

0

Вы можете легко использовать API ключи для этого: https://ravendb.net/docs/article-page/3.0/Csharp/server/configuration/authentication-and-authorization#oauth-authentication

Один ключ API (чтение/запись) для репликации One API Key (только для чтения) для применения

+0

К сожалению, если вы не поняли вопрос , но мне нужно сделать только определенные коллекции только для чтения ... ключи API сделают всю базу данных доступной только для чтения, нет? – MarioDS

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