Didierva
Didierva

Reputation: 11

MongoDb - Give user access to specific database

I'm working on an application using different databases and struggling to implement the correct user management.

Suppose that we have a user "BasicUser" (created in the admin database), that only has dbAdmin rights to a specific database, called "TestDb" in this example. Furthermore, we have created a user "TestUser" without any access rights to start from.

Is there a possibility for the BasicUser to grant read/write access to the TestDb for the TestUser?

I tried the following options when I login with the BasicUser

To be clear, I do not want to provide the BasicUser any admin rights on the admin database, as I don't want the BasicUser to see any of the other databases. This user should only be able to see the TestDb and perform its admin tasks on this db.

Upvotes: 1

Views: 8773

Answers (1)

Wernfried Domscheit
Wernfried Domscheit

Reputation: 59456

Create the user in the admin database (actually I don't know any reason why a user might be created anywhere else).

Then grant

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

It's not clear what you mean by "give access"? Maybe instead of dbOwner, you just want to grant readWrite, see Built-In Roles

Upvotes: 2

Related Questions