STIGhubSTIGhub
STIGsRMF ControlsCompare

STIGhub

A free tool to search and browse the entire DISA STIG library. Saves up to 75% in security compliance research time.

Navigation

  • Browse STIGs
  • Search
  • RMF Controls
  • Compare Versions

Resources

  • About
  • Release Notes
  • VPAT
  • DISA STIG Library
STIGs updated 3 hours ago
Powered by Pylon
© 2026 Beacon Cloud Solutions, Inc. All rights reserved.
← Back to MongoDB Enterprise Advanced 8.x Security Technical Implementation Guide

V-279355

CAT II (Medium)

MongoDB must separate user functionality (including user interface services) from database management functionality.

Rule ID

SV-279355r1179463_rule

STIG

MongoDB Enterprise Advanced 8.x Security Technical Implementation Guide

Version

V1R1

CCIs

CCI-001082CCI-000804

Discussion

Information system management functionality includes functions necessary to administer databases, network components, workstations, or servers, and typically requires privileged user access. The separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of the operating system, different network addresses, combinations of these methods, or other methods, as appropriate. An example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources. This may include isolating the administrative interface on a different domain and with additional access controls. If administrative functionality or information regarding DBMS management is presented on an interface available for users, information on DBMS settings may be inadvertently made available to the user. Satisfies: SRG-APP-000180-DB-000115 Satisfies: SRG-APP-000211-DB-000122, SRG-APP-000180-DB-000115

Check Content

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.

Fix Text

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.