Size: a a a

2020 April 29

DS

Dmitry Sergeev in MongoDB Russian
yopp
тьфу, grantRolesToUser
ну он возьмет да подставит туда db: admin же
источник

y

yopp in MongoDB Russian
вы сначала сделайте
источник

y

yopp in MongoDB Russian
вы много спорите о том, что в документации написано
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
вы сначала сделайте
не работает так
источник

y

yopp in MongoDB Russian
не работает как именно? что получилось?
источник

y

yopp in MongoDB Russian
но вообще я не понимаю что мешает выключить аутентификацию и удалить local без этих плясок
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
не работает как именно? что получилось?
> db.getUsers()
[
{
 "_id" : "admin.root",
 "userId" : UUID("4f1015ba-853e-49c8-8618-d7443b585332"),
 "user" : "root",
 "db" : "admin",
 "roles" : [
  {
   "role" : "root",
   "db" : "admin"
  }
 ]
},
...


> db.grantRolesToUser("root", ["custom"])
> db.getUsers()
[
{
 "_id" : "admin.root",
 "userId" : UUID("4f1015ba-853e-49c8-8618-d7443b585332"),
 "user" : "root",
 "db" : "admin",
 "roles" : [
  {
   "role" : "custom",
   "db" : "admin" <=====
  },
  {
   "role" : "root",
   "db" : "admin"
  }
 ]
},
источник

DS

Dmitry Sergeev in MongoDB Russian
получилось как я и говорил, как в доках и написано, подставится admin
источник

y

yopp in MongoDB Russian
и теперь что у вас происходит при use local; db.dropDatabase()?
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
и теперь что у вас происходит при use local; db.dropDatabase()?
🤔🤷
Дропнулось.

> use local
switched to db local
> db.dropDatabase()
{ "dropped" : "local", "ok" : 1 }


Спасибо большое 🙏🙏🙏
источник

y

yopp in MongoDB Russian
и теперь вы узнали что в монге scope != source
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
и теперь что у вас происходит при use local; db.dropDatabase()?
Но ты все равно не прав насчет ролей и юзеров в базах. Их можно там создавать и это работает. Могу доказать
источник

y

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

y

yopp in MongoDB Russian
scope это к чему она применяется
источник

y

yopp in MongoDB Russian
admin это хранилище привелегий по умолчанию. эти привилегии распространяются на ЛЮБОЙ скоуп
источник

y

yopp in MongoDB Russian
да, вы можете выбрать ДРУГОЕ хранилище привелегий. Для того чтоб его использовать вам нужно будет явно в клиенте указать authDB
источник

DS

Dmitry Sergeev in MongoDB Russian
yopp
admin это хранилище привелегий по умолчанию. эти привилегии распространяются на ЛЮБОЙ скоуп
Но если создать пользователя например в базе test. Он сможет туда заходить и при этом его не будет в базе admin.
источник

y

yopp in MongoDB Russian
это монго-норкомания
источник

y

yopp in MongoDB Russian
не знаю зачем они это сделали, но это локализация хранилища
источник

y

yopp in MongoDB Russian
наверное чтоб было удобно разделять привилегии по базам
источник