Мы не можем найти какой-либо убедительный документ о том, какие разрешения (роли пользователей) необходимы для запуска mongodump
на конкретном db.
Скажем, у меня есть db с именем x
и пользователь y
на нем со следующими ролями roles: [ "readWrite", "dbAdmin" ]
, а также 2 пользователя a
и b
в admin
коллекции с roles: [ "userAdminAnyDatabase" ]
и roles: [ "dbAdminAnyDatabase" ]
, кажется, что ни один из них не имеет правильного разрешения для запуска mongodump
:
mongodump --db x --username y --password --authenticationDatabase x
Tue Dec 10 17:04:23.901 x.system.users to dump/x/system.users.bson
assertion: 11010 count fails:{ ok: 0.0, errmsg: "unauthorized" }
mongodump --db x --username a --password --authenticationDatabase admin
Tue Dec 10 17:06:19.674 DATABASE: x to dump/x
assertion: 13106 nextSafe(): { $err: "not authorized for query on x.system.indexes", code: 16550 }
mongodump --db x --username b --password --authenticationDatabase admin
Tue Dec 10 17:08:20.678 DATABASE: x to dump/x
assertion: 13106 nextSafe(): { $err: "not authorized for query on x.system.namespaces", code: 16550 }
Нам нужно упустить что-то очевидное, но , что ищет mongodump при сбрасывании базы данных и в каком разрешении она нужна?
PS: в качестве бонуса мы хотели бы выяснить, какие роли пользователя необходимы для сброса определенной коллекции, а также всех db (s).