Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Настройка аутентификации в кластере

...

Для аутентификации узлов кластера необходимо создать файл с ключом из 6-1024 символов Base64. Сделать это можно так:

Блок кода
languagebash
themeRDark
openssl rand -base64 741 > mongo_keyfile

Этот файл должен иметь права 400, разрешаем чтение только владельцу файла, а также назначаем владельца :

Блок кода
languagebash
themeRDark
chown mongodb mongo_keyfile
chmod 400 mongo_keyfile

После этого в /etc/mongodbmongod.conf необходимо добавить параметр keyfile с абсолютным путём к созданному файлу ( в нашем случае добавляем строку keyFile keyFile = /etc/mongo_keyfile) и перезапустить MongoDB.Это действие нужно выполнить на каждом узле кластера:
      Копируем

Блок кода
languagebash
themeRDark
service mongod restart

Необходимо скопировать файл на каждый узел кластера, не забываем забыв проверить права и владельца файла. 
Указание keyFile автоматически включает аутентификацию (auth = true).
Далее надо выполнить настройку пользователей.

Настройка пользователей

...

Создание администратора

Для создания администратора в Mongo shell нужно:

1) Подключиться к БД admin:

Блок кода
languagesql
themeRDark
$ mongo admin
connecting to: admin
> 

2) Ввести команду на создание пользователя

Блок кода
languagesql
themeRDark
db.addUser({ user: "<имя_пользователя>", pwd: "<пароль>", roles: [ "clusterAdmin", "userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase" ] })

ВсеАдминистратор  создан, администратора  создали, теперь нужно перезапустить сервис MongodbMongo. Если настройку настройка аутентификации в кластере не настраивалинастроена, то нужно прописать в конфигурационном файле /etc/mongodb.conf  параметр auth = true

Блок кода
languagebash
themeRDark
service mongodbmongod restart

После перезапуска сервиса можно подключаться к mongo c созданной учетной записью.

Блок кода
languagebash
themeRDark
mongo -u<имя> -p<пароль> admin

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

Далее надо добавить пользователей для других баз данных. В частности для бд: notification-gw, pcrf, wifi-customer-cab.


Создание УЗ для работы сервисов

Обычные пользователи добавляются так же, как и администратор, только с ролями  readWrite (чтение/запись) и dbAdmin (некоторые операции с индексами и коллекциями):

Переключаемся на нужную БД:

Блок кода
languagesql
themeRDark
> use  notification-gw

Создаем пользователя:

Блок кода
languagesql
themeRDark
> db.addUser({ user: "<имя_пользователя>", pwd: "<пароль>", roles: [ "readWrite", "dbAdmin" ] })

Переключаемся на другую бдБД:

Блок кода
themeRDark
> use   pcrf

Повторяем создание пользователя для PCRF, с теми же привелегиямипривилегиями, но добавляем привелегию привилегию clusterAdmin, для получения состояния replica set.:

Блок кода
languagesql
themeRDark
> db.addUser({ user: "<имя_пользователя>", pwd: "<пароль>", roles: [ "readWrite", "dbAdmin", clusterAdmin ] })

И аналогично делаем для бд БД wifi-customer-cab:

Блок кода
languagesql
themeRDark
> use   wifi-customer-cab
> db.addUser({ user: "<имя_пользователя>", pwd: "<пароль>", roles: [ "readWrite", "dbAdmin" ] }

...


Добавление пользователей в конфигурации сервисов

...

В конфигурационном файле Личного кабинета /etc/eltex-wifi-cab/system.xml необходимо  указать логин, пароль для доступа к БД wifi-customer-cab.

В NBI конфигурационном файле NBI /etc/eltex-radius-nbi/radius_nbi_config.txt доступ к необходимо  указать логин, пароль для доступа к БД pcrf.

В конфигурационном файле NGW /etc/eltex-notification-gw/notification.properties к бд необходимо  указать логин, пароль для доступа к БД notification-gw.