Проблема с уровнем безопасности - PullRequest
4 голосов
/ 09 января 2020

У нас есть защищенный путь на /record/historical, без пространства имен, с одной ролью, имеющей разрешение на чтение и роль «администратор» с правами на чтение, обновление, вставку.

У нас есть пользователь, «развертывание», с ролью «admin».

При входе в консоль запросов как «развертывание» и запрос на /record я могу получить результат полного /record документа (включая /record/historical), но когда я запрашиваю /record/historical (или что-нибудь ниже), я не получаю никаких результатов.

Кроме того, эта проблема не является постоянной в разных экземплярах MarkLogi c (все 9.0-4). Кроме пользователей и защищенных путей, что еще я должен проверять на различия?

1 Ответ

4 голосов
/ 15 января 2020

Для настройки безопасности на уровне элемента необходимо настроить оба защищенные пути и запрашивать наборы ролей .

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

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

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

Чтобы узнать больше о безопасности в MarkLogi c и элементах конкретно на уровне безопасности, я бы посоветовал вам взглянуть на следующие примеры и документацию:

...