Настройте CouchDB как доступный только для чтения для пользователей, не являющихся администраторами

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

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

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

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

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

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

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

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


person Luke Taylor    schedule 24.06.2016    source источник


Ответы (2)


Чтобы просто решить ваши проблемы, назначьте своему администратору роль (например: «АДМИНИСТРАТОР»).

Затем для каждой базы данных ограничьте права администратора ролью ADMIN.

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

person Alexis Côté    schedule 30.06.2016
comment
Однако не может ли новый зарегистрированный пользователь по-прежнему создавать документы? - person Luke Taylor; 30.06.2016
comment
Вы правы, это не решит вашу проблему. Взгляните на это - person Alexis Côté; 30.06.2016
comment
Функции проверки выглядят как ответ, который я ищу. Спасибо! - person Luke Taylor; 30.06.2016

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

Тем не мение:

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

но решить эти

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

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

person Luke Taylor    schedule 30.06.2016