MongoDB
TMA-MONGODB-3.1
Ensure least privilege for database accounts
Description
MongoDB grants access to data and commands through "role-based" approach, MongoDB is shipped with built-in roles that provide the different levels of access commonly needed in a database system. In addition, you can create custom-roles.
How it is checked
Audit method: Manual review
In mongosh run db.getSiblingDB("admin").system.users.find({"roles.role": {$in: ["dbOwner", "userAdmin", "userAdminAnyDatabase"]}, "roles.db": "admin"}, {user: 1, roles: 1}). Any account returned holds a built-in dbOwner/userAdmin/userAdminAnyDatabase role scoped to the admin database and must be justified or dropped.
How it is fixed
Fix method: Guidance or infrastructure patch
If any accounts were listed with built in-roles: dbOwner userAdmin userAdminAnyDatabase in "admin" database role then drop them.
Properties
- Operating systems
- Any
- Tags
- mongodbprivileges
- Reference
- CIS MongoDB 8 Benchmark v2.0.0 - 3.1 Ensure least privilege for database accounts