1

Недавно я установил CouchDB на свой сервер, но у меня возникла нехватка информации об изменении разрешений. У меня есть учетная запись администратора, так что это не admin party, но ограничения все еще слабее, чем хотелось бы.Настроить CouchDB как только для чтения для не-админов

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

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

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

Глядя на the docs about security, существуют способы ограничить доступ к базе данных любого типа зарегистрированным членам, но я бы хотел, чтобы пользователи, не прошедшие проверку подлинности, имели доступ только для чтения. По this page,

Если есть какие-либо имена элементов или роли, определенные для базы данных, то только идентифицированные пользователи, имеющие совпадающее имя или роль разрешено читать документы из базы данных (или сделать GET /{db} вызов).

так что это ограничило бы доступ на чтение.

Есть ли способ настроить параметры разрешений на CouchDB?

ответ

1

Я закончил с использованием конфигурации nginx, чтобы заблокировать все запросы не GET. Это позволяет кому-либо читать базу данных, но предотвращает запись в базу данных.

Однако:

  • Я не могу смело подвергать футон в настоящее время
  • Как администратор, я не могу редактировать базу данных

но решить эти

  • Я могу потенциально написать новый интерфейс для CouchDB, который имеет только открытые функции чтения
  • Я могу сделать свое администрирование через SSH port forwarding.

Если nginx блокировка не является безопасным, я бы рад, если кто-то может позволить мне знать

1

Чтобы решить ваши проблемы, назначьте администратору роль (например: «ADMIN»).

Затем, для баз данных foreach, ограничьте разрешения «Admin» на роль «ADMIN».

По умолчанию новый зарегистрированный пользователь не будет иметь никакой роли, поэтому он не сможет получить доступ к базе данных в качестве администратора.

+0

Не можете вновь зарегистрированный пользователь по-прежнему создавать документы, правда? –

+2

Вы правы, это не решит вашу проблему. Посмотрите на [это] (http://stackoverflow.com/questions/10713437/couchdb-wide-read-only-access-rights) –

+2

Функции проверки выглядят как ответ, который я ищу. Благодаря! –