运维开发网

mongodb – 使用mongodump(转储特定数据库)的最低权限

运维开发网 https://www.qedev.com 2020-04-13 10:47 出处:网络 作者:运维开发网整理
我们似乎找不到关于在特定数据库上运行mongodump所需的权限(用户角色)的任何决定性文档。 说我有一个名为x的数据库和一个用户y,它具有以下角色角色:[“readWrite”,“dbAdmin”]以及管理员集合中的两个用户a和b:角色:[“userAdminAnyDatabase”]和角色: [“dbAdminAnyDatabase”],似乎没有人有正确的权限来运行mongodump: mon
我们似乎找不到关于在特定数据库上运行mongodump所需的权限(用户角色)的任何决定性文档。

说我有一个名为x的数据库和一个用户y,它具有以下角色角色:[“readWrite”,“dbAdmin”]以及管理员集合中的两个用户a和b:角色:[“userAdminAnyDatabase”]和角色: [“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 }

我们必须遗漏一些明显的东西,但是在转储数据库时需要什么权限呢?

PS:作为一个奖励,我们想知道需要什么角色来转储特定的集合,以及所有的数据库。

幸运的是, mongodump 3.0正在接受跳过某些集合的选项。

这解决了我的问题没有管理员访问数据库来调整权限。请记住,您不会再创建完整的备份。

mongodump --excludeCollection=system.indexes

要么

mongodump --excludeCollectionsWithPrefix=system

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号