Get the App
SLTechnology News&Howtos  ›  Database  › 

Mongodb rights management

Shulou Source: shulou.com Published: 2022-06-01 07:47:45 10月04日 Update

You have to work overtime tonight, just sort out the permission context configuration of mongodb. After installing and configuring a set of mongodb, you need to create a corresponding database and user password for the developer, so how to set the permission?

1. The first step is to create a database

Use chunqiu

two。 To create a user to grant permissions, first learn about the role function in mongodb before creating a user, so what role are there in the admin database?

View role:

Use admin

PRIMARY > show roles

{

"role": "_ _ system"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "backup"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "clusterAdmin"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "clusterManager"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "clusterMonitor"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "dbAdmin"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "dbAdminAnyDatabase"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "dbOwner"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "enableSharding"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "hostManager"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "read"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "readAnyDatabase"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "readWrite"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "readWriteAnyDatabase"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "restore"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "root"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "userAdmin"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "userAdminAnyDatabase"

"db": "admin"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

So what is the role in chunqiu's library?

Use chunqiu

PRIMARY > show roles

{

"role": "dbAdmin"

"db": "chunqiu"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "dbOwner"

"db": "chunqiu"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "enableSharding"

"db": "chunqiu"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "read"

"db": "chunqiu"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "readWrite"

"db": "chunqiu"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

{

"role": "userAdmin"

"db": "chunqiu"

"isBuiltin": true

"roles": []

"inheritedRoles": []

}

3. Do you feel enlightened after watching mongodb's role? So create a user now:

Use chunqiu

Db.createUser (

{

User: "app_user"

Pwd: "app#password"

Roles:

[

{

Role: "dbOwner", # # Select dbOwner for the role of database permissions

Db: "chunqiu" # # Note here data validation uses the chunqiu library

}

]

}

)

To set up a read-only account:

Use chunqiu

Db.createUser (

{

User: "app_user_read"

Pwd: "read#password"

Roles:

[

{

Role: "read", # # Select read for the role of database permissions

Db: "chunqiu"

}

]

}

)

View the users that have been created:

Show users

Change the password:

Db.changeUserPassword ('app_user','password')

To grant a role:

Db.grantRolesToUser ("admin", [{role: "dbAdminAnyDatabase", db: "admin"}])

Cancel the role:

Db.revokeRolesFromUser ("admin", [{role: "dbAdminAnyDatabase", db: "admin"}])

4. Finally, you can send the created account and password to the developer to use.

Tags: Data permissions database users passwords people roles accounts development selection configuration openness suddenly enlightened function finished feeling verification management Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MySQL Shulou Technology Shulou Information Xiaomi Redmi