SV-279355r1179463_rule
V-279355
SRG-APP-000211-DB-000122
MD8X-00-004400
CAT II
10
Administrators using MongoDB should document the appropriate privileges for various roles appropriate to the application.
Prerequisite: To view a user's roles, users must have the "viewUser" privilege.
Connect to MongoDB.
For each database, identify the user's roles for the database.
use <database>
db.getUser("[username]")
The server will return a document with the user's roles.
To revoke a user's role from a database, use the db.revokeRolesFromUser() method.
To grant a role to a user, use the db.grantRolesToUser() method.
MongoDB grants access to data and commands through role-based authorization and provides built-in roles that provide the different levels of access commonly needed in a database system. User-defined roles can also be created.
Check a user's role to verify correct privileges for the function.
Prerequisite: To view a user's roles, users must have the "viewUser" privilege.
Connect to MongoDB.
For each database in the system, identify the user's roles for the database:
use <database>
db.getUser("[username]")
The server will return a document with the user's roles.
View a role's privileges.
Prerequisite: To view a user's roles, users must have the "viewUser" privilege.
For each database, identify the privileges granted by a role:
use <database>
db.getRole( "read", { showPrivileges: true } )
The server will return a document with the "privileges" and "inheritedPrivileges" arrays. The "privileges returned" document lists the privileges directly specified by the role and excludes those privileges inherited from other roles. The "inheritedPrivileges" returned document lists all privileges granted by this role, both directly specified and inherited. If the role does not inherit from other roles, the two fields are the same.
If a user has a role with inappropriate privileges, this is a finding.
V-279355
False
MD8X-00-004400
MongoDB grants access to data and commands through role-based authorization and provides built-in roles that provide the different levels of access commonly needed in a database system. User-defined roles can also be created.
Check a user's role to verify correct privileges for the function.
Prerequisite: To view a user's roles, users must have the "viewUser" privilege.
Connect to MongoDB.
For each database in the system, identify the user's roles for the database:
use <database>
db.getUser("[username]")
The server will return a document with the user's roles.
View a role's privileges.
Prerequisite: To view a user's roles, users must have the "viewUser" privilege.
For each database, identify the privileges granted by a role:
use <database>
db.getRole( "read", { showPrivileges: true } )
The server will return a document with the "privileges" and "inheritedPrivileges" arrays. The "privileges returned" document lists the privileges directly specified by the role and excludes those privileges inherited from other roles. The "inheritedPrivileges" returned document lists all privileges granted by this role, both directly specified and inherited. If the role does not inherit from other roles, the two fields are the same.
If a user has a role with inappropriate privileges, this is a finding.
M
5728