@Nodar
Python, Ruby, JavaScript

Как правильно настроить авторизацию MongoDB Replica Set?

Читаю монговские доки, но не могу понять момент с доступом к реплике по логину/паролю.

Как правильно это организвать? Нужно всем репликам отдельно задать логины и пароли (разные или одинаковые?) или сделать это на мастере, и эти данные реплицируются?
  • Вопрос задан
  • 1191 просмотр
Решения вопроса 1
Shutik
@Shutik
Погромист халявщик
Небольшой мануал по авторизации в реплике:
1) Запустите первую ноду, авторизация должна быть отключена!
2) Создайте админа и суперпользователя:
use admin
db.createUser( {
    user: "siteUserAdmin",
    pwd: "<password>",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  });
db.createUser( {
    user: "siteRootAdmin",
    pwd: "<password>",
    roles: [ { role: "root", db: "admin" } ]
  });

3) Остановите ноду
4) Далее нужно создать ключ-файл:
можно просто вписать какую нибудь строку типа:
mySuperPuperPasswordFromMongoDBolololololo
или сгенерировать с помощью openssl:
openssl rand -base64 741 > mongodb-keyfile
ну и указать права:
chmod 600 mongodb-keyfile
После того как создали файл, его следует скопировать на все ноды.
Важно! чтобы содержимое этого файла на ВСЕХ нодах было одинаковым!
5) Далее следует добавить в конфиг каждой ноды:
auth=true
keyFile=/путь-до-файла-mongodb-keyfile
replSet=Название-реплики

так же желательно настроить bind_ip
6) Ну и попробовать стартануть все ноды ))

ps: Писать мануалы не умею ) так что извиняйте ..
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы