MongoDB — не авторизован в общем кластере, несмотря на роль atlasAdmin

У меня проблема с общим кластером mongodb: я пытаюсь получить данные через реализацию mongodb на nodejs. Несколько дней назад все работало нормально. Но теперь каждая команда getmore, которую я отправляю в кластер, очень и очень медленная. Поэтому я подумал: может быть, мне просто нужно выключить его и снова включить.

Поэтому я попытался подключиться к кластеру с помощью оболочки mongo. Все работает нормально, у моего пользователя роль atlasAdmin (с видно через db.getUser("admin")), но когда я пытаюсь выполнить команды типа db.shutdownServer() или показать пользователей, сервер говорит мне, что я не авторизован. Даже команда «db.auth("admin", ...pw...)» возвращает 1.

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

См. также:  Веб-аутентификация: файлы cookie или токены
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Fabroanc

    Atlas — это размещенная служба, поэтому привилегии отличаются от привилегий сервера MongoDB на «голом железе». Из Права пользователя базы данных MongoDB Это список привилегий atlasAdmin:

    • readWriteAnyDatabase
    • readAnyDatabase
    • dbAdminAnyDatabase
    • кластермонитор
    • ОчисткаСирота
    • включитьШардинг
    • flushRouterConfig
    • moveChunk
    • сплитчанк
    • просмотрПользователь

    shutdown является частью роли hostManager, которая не вошедших в список выше.

    В зависимости от вашего типа развертывания Atlas, вот список ограниченных команд/привилегий:

    Если вам нужно «включать и выключать» свое развертывание, вы можете использовать Test Failover, если ваш тип развертывания поддерживает это. Эта кнопка отключит основной узел и выберет новый основной, что в большинстве случаев почти эквивалентно «выключить и снова включить».

    Спасибо за ваш ответ. Но даже если у меня нет роли hostManager, разве я не могу выполнять такие команды, как show users? Проблема с очень медленным кластером была вызвана MongoDB. Они ограничивают скорость передачи после 10 ГБ, о чем я не знал. person Fabroanc; 04.02.2020

    Это будет зависеть от вашего развертывания. Если вы находитесь в общем развертывании, таком как M0/M2/M5, я не думаю, что вы можете видеть пользователей. Какой тип вы используете? person Fabroanc; 05.02.2020

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: