首页 > 解决方案 > MongoDb - 授予用户访问特定数据库的权限

问题描述

我正在开发一个使用不同数据库的应用程序,并努力实现正确的用户管理。

假设我们有一个用户“BasicUser”(在 admin 数据库中创建),它只对特定数据库拥有 dbAdmin 权限,在本例中称为“TestDb”。此外,我们创建了一个没有任何访问权限的用户“TestUser”。

BasicUser 是否有可能为 TestUser 授予对 TestDb 的读/写访问权限?

当我使用 BasicUser 登录时,我尝试了以下选项

需要明确的是,我不想在 admin 数据库上为 BasicUser 提供任何管理员权限,因为我不希望 BasicUser 看到任何其他数据库。此用户应该只能看到 TestDb 并在此数据库上执行其管理任务。

标签: mongodb

解决方案


admin数据库中创建用户(实际上我不知道为什么会在其他任何地方创建用户)。

然后授予

db.getSiblingDB("admin").grantRolesToUser( "TestUser", [ { role: "dbOwner", db: "TestDb" } ] )

不清楚您所说的“授予访问权限”是什么意思?也许不是dbOwner,您只想授予readWrite,请参阅内置角色


推荐阅读