gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:04:33 26 4
gpt4 key购买 nike

我们似乎找不到任何关于在特定数据库上运行 mongodump 需要哪些权限(用户角色)的结论性文档。

假设我有一个名为 x 的数据库和一个用户 y,其角色为 roles: [ "readWrite", "dbAdmin"],以及 admin 集合上的 2 个用户 abroles: [ "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:作为奖励,我们想弄清楚转储特定集合以及所有数据库需要哪些用户角色。

最佳答案

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

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

mongodump --excludeCollection=system.indexes

mongodump --excludeCollectionsWithPrefix=system

关于mongodb - 使用 mongodump 的最低权限(转储特定数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com