Skip to content

DOCS-9921: Rewrite description of userAdmin built-in role for clarity #3016

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions source/reference/built-in-roles.txt
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,9 @@ Every database includes the following database administration roles:

.. authrole:: userAdmin

Provides the ability to create and modify roles and users on the current
database. This role also indirectly provides :ref:`superuser <superuser>`
access to either the database or, if scoped to the ``admin`` database, the
cluster. The :authrole:`userAdmin` role allows users to grant any user any
privilege, including themselves.
Provides the ability to create and modify roles and users for a database.
A user with this role on a database can assign any role or privilege
to any user for that database, including themselves.

The :authrole:`userAdmin` role explicitly provides the following actions:

Expand All @@ -165,6 +163,17 @@ Every database includes the following database administration roles:
- :authaction:`viewRole`
- :authaction:`viewUser`

  .. warning::

It is important to understand the security implications of granting the
:authrole:`userAdmin` role: a user with this role for a database can
assign themselves any privilege on that database. Granting the
:authrole:`userAdmin` role on the ``admin`` database has further
security implications as this indirectly provides
:ref:`superuser <superuser>` access to a cluster. With ``admin``
scope a user with the :authrole:`userAdmin` role can grant cluster-wide
roles or privileges including :authrole:`userAdminAnyDatabase`.

.. _cluster-admin-roles:
.. _admin-roles:

Expand Down