Size: a a a

2020 April 29

y

yopp in MongoDB Russian
Наоборот.
источник

y

yopp in MongoDB Russian
shard local это с реплики, а cluster wide это с конфига
источник

y

yopp in MongoDB Russian
И это два разных набора привилегий
источник

y

yopp in MongoDB Russian
Например для обслуживания шардов придётся руками ходить и везде обновлять пользователей и роли
источник

y

yopp in MongoDB Russian
Если к этому ещё аутентификацию по сертификатам добавить, будет бинго и полное ведро боли
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
db здесь не скопу роли
Ну должна быть же какая-то логика.
Вот почему:

Хранилище admin (а не test)
user admin
db.createUser({ user: "test", pwd: "password", roles: [{role: "readWrite", db: "test"}]})


А здесь хранилище local?
us
er admin
db.createUser({ user: "test", pwd: "password", roles: [{role: "readWrite", db: "local"}]})


ААА, хранилище для ролей это. Теперь понял
источник

DS

Dmitry Sergeev in MongoDB Russian
так как readWrite встроена везде (кроме local) первый случай работает корректно.
источник

y

yopp in MongoDB Russian
Да, это хранилище информации о привилегиях
источник

y

yopp in MongoDB Russian
yopp
The following roles are available on the admin database and provide privileges which apply to all databases except local and config:
^
источник

y

yopp in MongoDB Russian
А, тьфу. Это не про это
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
Да, это хранилище информации о привилегиях
То есть тогда правильно делать не так. А создать свою роль с readWrite на базу "test", и уже делать так:

user admin
db.createUser({ user: "test", pwd: "password", roles: [{role: "customRoleReadWriteForTest", db: "admin"}]})


И только в этом случае, юзер test будет в admin, и роль тоже в admin, но при этом он будет иметь доступ только в test
источник

y

yopp in MongoDB Russian
Да, именно так
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
Да, именно так
Все спасибо большое добрый человек!
Теперь я вроде как понял эту жесть с правами
источник

DS

Dmitry Sergeev in MongoDB Russian
Но правда так делать неудобно получается, свои роли фигачить для юзера. Проще тогда их хранить в базах вместе с ролями.
Просто поминть, что с local так не выйдет, так как по умолчанию нету прав создавать там роли и юзеров
источник

DS

Dmitry Sergeev in MongoDB Russian
Жесть какая))
источник

y

yopp in MongoDB Russian
без необходимости хранить за пределами admin не стоит
источник

y

yopp in MongoDB Russian
так как при подключении вам нужно будет явно настраивать authenticationDatabase
источник

y

yopp in MongoDB Russian
и указывать ту, откуда вы хотите брать список пользователей и ролей
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
так как при подключении вам нужно будет явно настраивать authenticationDatabase
странно, я как раз таки наоборот делаю, именно потому что authenticationDatabase по умолчанию используется та база, к которой коннект присходит. По крайней мере в mongo модуле для nodejs
источник

e

egoarka in MongoDB Russian
вопрос: может ли монга сторить бинарник ~10кб в документе без сериализации в base64?
источник