Los roles otorgan a los usuarios acceso a los recursos de MongoDB. Por defecto, MongoDB proporciona algunos roles integrados, pero si estos roles no pueden describir un conjunto de privilegios deseado, se pueden crear roles personalizados.
Al crear un rol, se especifica la base de datos a la que se aplica. Cloud Manager almacena tus roles personalizados en todas las instancias de MongoDB en tu proyecto de Cloud Manager, pero identifica exclusivamente un rol por la combinación del nombre de la base de datos y el nombre del rol. Si existe una base de datos con ese nombre en varias implementaciones dentro de tu proyecto de Cloud Manager, el rol se aplicará a cada una de esas bases de datos. Si creas un rol en la admin
base de datos, la función se aplica a todas las admin bases de datos en la implementación.
Los roles consisten en privilegios que otorgan acceso a acciones específicas sobre recursos específicos. En la mayoría de las bases de datos, un recurso es la base de datos o una colección, pero en la base de datos admin, un recurso puede ser todas las bases de datos, todas las colecciones con un nombre determinado en todas las bases de datos o todas las implementaciones.
Un rol puede heredar privilegios de otros roles en su base de datos. Un rol en la base de datos admin puede heredar privilegios de roles de otras bases de datos.
Los roles de MongoDB son independientes de Cloud Manager rol.
Considerations
Usuarios y roles administrados
Cualquier usuario o rol que elija administrar en un proyecto de Cloud Manager tiene su
Synced valor establecido en Yes y se sincronizan con todas las implementaciones del proyecto.
Cualquier usuario o rol que no elijas gestionar en un proyecto de Cloud Manager tiene su valor Synced configurado a No y sólo existe en sus respectivas implementaciones de MongoDB.
Nota
Si activas Synced en OFF después de la importación, cualquier usuario o rol que crees se borrará.
Usuarios y roles consistentes
Si se aplica un conjunto coherente de usuarios y roles en su Proyecto, Cloud Manager sincroniza estos usuarios y roles en todas las implementaciones de ese Proyecto. Activa o desactiva Enforce Consistent Set para elegir si quieres administrar un solo conjunto de usuarios y roles:
Enforce Consistent Set es YES
En un proyecto gestionado, Cloud Manager concede a todos los usuarios y roles acceso a todas las implementaciones. Todas las implementaciones que gestiona el Proyecto Cloud Manager tienen el mismo conjunto de usuarios y roles de MongoDB.
Cloud Manager limita el acceso a los usuarios y roles donde se configuran de Synced a Yes. Cloud Manager elimina de las implementaciones de su proyecto todos los usuarios y roles que no administra el proyecto de Cloud Manager.
Enforce Consistent Set es NO
En un proyecto administrado, Cloud Manager permite que cada implementación use su propio conjunto de usuarios y roles de MongoDB. Cloud Manager no necesita administrar estos usuarios y roles de MongoDB. Para hacerlo, debe conectarse directamente a la implementación de MongoDB.
Cloud Manager concede a los usuarios y roles de MongoDB administrados donde establezca Synced en Yes acceso a todas las implementaciones gestionadas.
Cloud Manager limita el acceso de los usuarios y roles de MongoDB no administrados, donde usted establece Synced a No, a las implementaciones específicas de esos usuarios y roles.
Nota
Enforce Consistent Set Se establece por defecto en NO.
Para aprender cómo la importación de implementaciones de MongoDB puede afectar la gestión de usuarios y roles, consulta Automatización y configuración de seguridad actualizado tras la importación.
Nombres de roles
No se puede nombrar un rol personalizado MongodbAutomationAgentUserRole para las implementaciones administradas por Automation, ya que este es un nombre de rol interno utilizado por el usuario mms-automation del Agente MongoDB.
Requisito previo
El control de acceso de MongoDB debe estar habilitado para poder aplicar roles. Se pueden crear funciones antes de habilitar el control de acceso o después, pero no entran en vigor hasta que se habilite el control de acceso.
Crear un rol personalizado de MongoDB
En MongoDB Cloud Manager, ir a la página Security del proyecto.
Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Security en la sección Database.
Se muestra la página de Seguridad.
En el campo Identifier, ingrese la base de datos en la que se debe definir el rol e ingrese un nombre para el rol.
Un rol se aplica a la base de datos en la que se define y puede conceder acceso hasta el nivel de colección. La combinación del nombre del rol y su base de datos identifica de manera única ese rol. Complete los campos Identifier para cumplir con los métodos de autenticación y autorización que utiliza:
Si no se utiliza la autenticación ni la autorización por LDAP, se debe escribir el nombre de la base de datos en el campo database Identifier y el nombre que se desea para el rol en el campo name Identifier.
Si utilizas la autenticación LDAP, pero no la autorización LDAP, introduce
$externalen el campo database Identifier y el nombre que deseas para el rol en el campo name Identifier.Si utiliza cualquier método de autenticación con autorización LDAP, escriba
adminen el campo database Identifier y el DN del grupo LDAP en el campo name Identifier.Ejemplo
En tu servidor LDAP, creaste un grupo LDAP con un nombre distinguido de
CN=DBA,CN=Users,DC=example,DC=com. Si deseas crear un rol de DBA en Cloud Manager vinculado a este grupo LDAP, escribeadminen el campo database Identifier yCN=DBA,CN=Users,DC=example,DC=comen el campo name Identifier.
Edita un rol personalizado
Puede cambiar los privilegios de un rol personalizado. No puedes cambiar ni su nombre ni su base de datos.
En MongoDB Cloud Manager, ir a la página Security del proyecto.
Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Security en la sección Database.
Se muestra la página de Seguridad.
Ver privilegios para un rol
Para ver los privilegios de un rol:
En MongoDB Cloud Manager, ir a la página Security del proyecto.
Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Security en la sección Database.
Se muestra la página de Seguridad.
Cada privilegio empareja un recurso con un conjunto de Acciones de privilegio. Todos los roles tienen asignada una base de datos. Cada función integrada se asigna a admin base de datos o a todas las bases de datos.
Remover un rol personalizado
En MongoDB Cloud Manager, ir a la página Security del proyecto.
Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Security en la sección Database.
Se muestra la página de Seguridad.