powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Помогите настроить авторизацию на базу в MongoDB
17 сообщений из 17, страница 1 из 1
Помогите настроить авторизацию на базу в MongoDB
    #39057692
AntiVata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак, имеем сервер mongo

Создал тестовую базу TestDB
Далее создал в ней тестового пользователя TestAdmin

Установил серверу при запуске параметр --auth

Подключаюсь к серверу, указывая логин и пароль при создании TestAdmin

И получаю отлуп

2015-09-21 18:01:47: Connecting to localhost:27017...
2015-09-21 18:01:47: connect failed
2015-09-21 18:01:47: Unable to authorize

Я ожидал, что получу доступ к серверу и мне будет доступна только TestDB


Что я делаю не так?
Может какие-то ещё ключи указывать?


Версия mongo 3.0
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39057756
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39058268
AntiVata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПо шагам: Enable Authentication after Creating the User Administrator
Кидаться левыми мануалами я и сам могу

На первом же шаге ошибка

use admin
db.createUser(
{
user: "siteUserAdmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)


Ошибка - TypeError: db.createUser is not a function (shell):5

База версии 3.0.6
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39058413
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntiVataskyANAПо шагам: Enable Authentication after Creating the User Administrator
Кидаться левыми мануалами я и сам могу

На первом же шаге ошибка

use admin
db.createUser(
{
user: "siteUserAdmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)


Ошибка - TypeError: db.createUser is not a function (shell):5

База версии 3.0.6Если Вы называете официальную документацию "левым мануалом", то разговор думаю можно закончить :)

db.createUser()

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
MongoDB shell version: 3.0.6
connecting to: admin
> db.createUser
function (userObj, writeConcern) {
    var name = userObj["user"];
    var cmdObj = {createUser:name};
    cmdObj = Object.extend(cmdObj, userObj);
    delete cmdObj["user"];

    this._modifyCommandToDigestPasswordIfNecessary(cmdObj, name);

    cmdObj["writeConcern"] = writeConcern ? writeConcern : _defaultWriteConcern;

    var res = this.runCommand(cmdObj);

    if (res.ok) {
        print("Successfully added user: " + getUserObjString(userObj));
        return;
    }

    if (res.errmsg == "no such cmd: createUser") {
        throw Error("'createUser' command not found.  This is most likely because you are " +
                    "talking to an old (pre v2.6) MongoDB server");
    }

    if (res.errmsg == "timeout") {
        throw Error("timed out while waiting for user authentication to replicate - " +
                    "database will not be fully secured until replication finishes");
    }

    throw Error("couldn't add user: " + res.errmsg);
}
>
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39070050
DrGonzo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntiVataОшибка - TypeError: db.createUser is not a function (shell):5

База версии 3.0.6

База может и 3.0.6, а вот шелл ваш похоже не новее, чем 2.4, т.к. функция db.createUser() была добавлена только в 2.6.
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39070142
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrGonzoAntiVataОшибка - TypeError: db.createUser is not a function (shell):5

База версии 3.0.6

База может и 3.0.6, а вот шелл ваш похоже не новее, чем 2.4, т.к. функция db.createUser() была добавлена только в 2.6.+100500
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39076776
AntiVata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DrGonzoAntiVataОшибка - TypeError: db.createUser is not a function (shell):5

База версии 3.0.6

База может и 3.0.6, а вот шелл ваш похоже не новее, чем 2.4, т.к. функция db.createUser() была добавлена только в 2.6.

Согласен, мой косяк.
Я использовал графическую тулзу. Видимо там старая версия консоли.

Вот последовательность моих действий согласно официальному мануалу

1) Просто запустил mongo без авторизации
Код: powershell
1.
D:\mongodb\bin\mongod.exe --logpath d:\mongodb\log.txt --service



2) Затем подключился и создал администратора



3)Рестартанул сервис с авторизацией
Код: powershell
1.
D:\mongodb\bin\mongod.exe --logpath d:\mongodb\log.txt --service --auth




После всех указанных действий пытаюсь подключиться к mongo с логином и паролем

и получаю



Что я делаю не так?
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39076789
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntiVata, Вы к базе test пытаетесь подключиться, а надо так:

Код: powershell
1.
mongo localhost:27017/admin --authenticationDatabase admin -u siteUserAdmin -p password
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39076824
AntiVata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAntiVata, Вы к базе test пытаетесь подключиться, а надо так:

Код: powershell
1.
mongo localhost:27017/admin --authenticationDatabase admin -u siteUserAdmin -p password


Спасибо, подсоединиться получилось

Но тогда вопрос - как мне работать с существующей базой TestDB?
Почему не получается работать с этой базой?

Я ведь давал доступ siteUserAdmin?

Или нужно создать отдельного пользователя для этой базы и уже из под него пытаться работать с данными из этой TestDB?
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39076872
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntiVata, почитайте документацию о ролях: http://docs.mongodb.org/manual/reference/built-in-roles/

Роль, которой вы наделили своего админа ( userAdminAnyDatabase ) позволяет назначать права другим пользователям, но не работать с бд.

Создайте в целевой базе пользователя с ролью dbOwner , и работайте в той базе из-под него.

Если не хотите заморачиваться и разбираться с ролями, то назначьте текущему админу роль root , тогда сможете делать что угодно и в какой угодно базе.
Но это не безопасно, если у Вас приложение будет ходить в монгу из под такого админа!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Помогите настроить авторизацию на базу в MongoDB
    #39590284
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задам вопрос здесь.

Не совсем понимаю такой момент.

Можно насоздавать юзеров, ролей - но стоит просто "упереть" файлы самой БД и запустить без ключа --auth, то база свободна для доступа.

Я по запаре удалил admina, и ничего больше не могу. Но запустил базу без --auth и заново его создал.

Что это такое?
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39591377
it2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
it2
Гость
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39592194
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
it2,

Ну как бы не совсем. Это же только для энтерпрайза.

Для обыкновенной БД - любой, кто имеет доступ к машине - имеет доступ ко всем базам без проблем вообще?

А чего тогда в принципе париться с ограничениями? Разруливать все права на уровне приложения, а сервер в базе закрыть админской учеткой (и так надо) - нафига все эти телодвижения?
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39592598
it2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
it2
Гость
Агнец за бортом,

  Если все подряд имеют физический доступ к машине - ну, значит, там ничего нет, что стоит защищать. Роли даются для того, чтобы пользователи базы, имеющие только коннект к ней не могли лишнего сделать-попортить.

Когда очередь дойдет до спасения своих ж... - по степени защищенности оных:
1. (па)роли в бд
2. замок на сервер
3. энтерпрайз с шифрованием
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39592706
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
it2Агнец за бортом,

  Если все подряд имеют физический доступ к машине - ну, значит, там ничего нет, что стоит защищать. Роли даются для того, чтобы пользователи базы, имеющие только коннект к ней не могли лишнего сделать-попортить.

Когда очередь дойдет до спасения своих ж... - по степени защищенности оных:
1. (па)роли в бд
2. замок на сервер
3. энтерпрайз с шифрованием

Пользователи базы вообще понятия не имеют о ролях в БД - это рулится приложением и ролями в нём.

Oracle/MS SQL тоже можно запустить с ключом и сдампить всю базу?
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39593302
it2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
it2
Гость
Агнец за бортомOracle/MS SQL тоже можно запустить с ключом и сдампить всю базу?

а то ! там ключа вообще нет. и sysdba видит все...

sqlplus / as sysdba
select * from dba_objects;
...
Рейтинг: 0 / 0
Помогите настроить авторизацию на базу в MongoDB
    #39593305
it2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
it2
Гость
Агнец за бортом
Пользователи базы вообще понятия не имеют о ролях в БД - это рулится приложением и ролями в нём.


Это наглая ложь заблуждение
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Помогите настроить авторизацию на базу в MongoDB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]