Puede crear roles personalizados en Atlas cuando Los roles integrados no incluyen el conjunto de privilegios deseado. Atlas aplica los roles personalizados de cada usuario de la base de datos junto con:
Cualquier rol incorporado que asigne cuando Agregar un usuario de base de datos o modificar un usuario de base de datos.
Cualquier privilegio específico que asignes cuando añadas un usuario de base de datos o modifiques un usuario de base de datos.
Puedes asignar varios roles personalizados a cada usuario de base de datos.
Nota
Limitaciones de clústeres libres y Flex
Los cambios en los roles personalizados pueden tardar hasta 30 segundos en implementarse. M0 Clústeres gratuitos y clústeres Flex.
Las acciones de privilegios disponibles para roles personalizados y la API de roles personalizados representan un subconjunto de las acciones de privilegios disponibles para roles integrados.
Para revisar la lista de privilegios de roles personalizados, consulta la referencia de API.
Considerations
Importante
Debes utilizar el Atlas CLI, la API de Administración de Atlas, la IU de Atlas o una integración compatible para añadir, modificar o borrar roles de base de datos en los clústeres de Atlas. De lo contrario, Atlas revierte cualquier modificación de rol.
Usted puede asignar hasta 20 roles personalizados a un único usuario de base de datos
Puede crear hasta 100 roles personalizados por proyecto de forma predeterminada. IMPORTANTE: Si necesita más roles personalizados por proyecto, puede aumentar la cantidad de roles personalizados hasta un máximo de 1400 a través de la API de administración de Atlas usando el punto final Establecer un límite de proyecto.
Atlas audita la creación, la eliminación y las actualizaciones de roles personalizados de MongoDB en la fuente de actividad del proyecto.
Si asignas varios roles a un usuario y esos roles otorgan permisos en conflicto para un objeto, Atlas respetará los permisos más altos dentro de cualquier rol.
Por ejemplo:
Cree dos roles personalizados y asigne ambos al Usuario A:
El primer rol personalizado solo concede privilegios
readen la base de datos. También concede bypassDocumentValidation en la base de datos.El segundo rol otorga privilegios
dbAdminen su base de datos. No concede bypassDocumentValidation, lo que implica una denegación implícita de permisos de omisión.
El usuario A tendría todos los privilegios de
dbAdminpara la base de datos, ya quedbAdmines el permiso de acceso a la base de datos más alto. El usuario A también tendría bypassDocumentValidation, ya que bypassDocumentValidation es el permiso de omisión más alto.
Acceso requerido
Para configurar roles personalizados en bases de datos, debes tener Organization Owner, Project Owner o Project Database Access Admin acceso a Atlas.
Agregar roles personalizados
Para crear un rol de base de datos personalizado para su proyecto usando la Atlas CLI, ejecutar el siguiente comando:
atlas customDbRoles create <roleName> [options]
Para aprender más sobre la sintaxis y los parámetros de comandos, consulta la documentación de Atlas CLI para atlas customDbRoles create.
Para crear roles personalizados a través de la API de Administración de Atlas, consultar Crear uno.
Sigue estos pasos para crear un rol personalizado mediante la interfaz de usuario de Atlas:
En Atlas, vaya a la Database & Network Access Página para su proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
La página Acceso a la base de datos y a la red se muestra.
Ingresa la información del rol.
Campo | Descripción |
|---|---|
Custom Role Name | Nombre del rol personalizado. IMPORTANTE: El nombre del rol especificado solo puede contener letras, números, guiones bajos o guiones. Además, no puedes especificar un nombre de rol que cumpla con alguno de los siguientes criterios:
|
Action or Role | Privilegios otorgados por el rol. Hacer clic en el desplegable para ver la lista de acciones de privilegio disponibles y roles. Atlas agrupa las acciones y los roles en las siguientes categorías:
Seleccione la acción o el rol de una única categoría. Una vez que seleccione una acción o rol, Atlas desactiva las demás categorías con la siguiente excepción. Si selecciona una acción/rol de Global Actions and Roles, aún podrá seleccionar acciones/roles de Custom Roles. Para otorgar acciones y roles de otra categoría, haz clic en Add an action or role para agregar una nueva fila. Atlas desactiva acciones que no están disponibles en ninguna versión del clúster del proyecto. Los roles personalizados se definen a nivel de proyecto y deben ser compatibles con cada versión de MongoDB utilizada por los clústeres del proyecto. |
Database | Base de datos en la que se otorgan las acciones y roles seleccionados, si corresponde. Para especificar la base de datos, escribe el nombre de la base de datos o selecciona Apply to any database. ADVERTENCIA: Si seleccionas Apply to any database, los roles otorgan permisos para acciones en las bases de datos Este campo es obligatorio para todos los roles y las acciones bajo las categorías Collection Actions y Database Actions and Roles. |
Collection | Colección dentro de la base de datos especificada en la que se otorgan las acciones y roles, si corresponde. Para especificar la colección, introduce el nombre de la colección o selecciona Apply to any collection. ADVERTENCIA: Si seleccionas Apply to any collection, los roles conceden permisos para realizar acciones en las colecciones de las bases de datos Este campo es obligatorio para todos los roles y las acciones bajo Collection Actions. |
Para otorgar el mismo conjunto de privilegios en varias bases de datos y colecciones, hacer clic en Add a database or collection.
Ver los roles personalizados
Para listar todos los roles personalizados de la base de datos para el proyecto usando la Atlas CLI, ejecutar el siguiente comando:
atlas customDbRoles list [options]
Para obtener los detalles de un único rol de base de datos personalizado en el proyecto que especificas mediante el Atlas CLI, ejecuta el siguiente comando:
atlas customDbRoles describe <roleName> [options]
Para obtener más información sobre la sintaxis y los parámetros de los comandos anteriores, consulta la documentación de Atlas CLI para atlas customDbRoles list y atlas customDbRoles describe.
Para ver roles personalizados a través de la API de Administración de Atlas, ver Get All.
Para ver sus roles personalizados a través de la interfaz de usuario de Atlas:
En Atlas, ve a la página Database & Network Access de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
La página Acceso a la base de datos y a la red se muestra.
Modificar roles personalizados
Para actualizar un rol personalizado de base de datos para el proyecto usando el Atlas CLI, se debe ejecutar el siguiente comando:
atlas customDbRoles update <roleName> [options]
Para obtener más información sobre la sintaxis y los parámetros del comando, consulta la documentación de Atlas CLI para atlas customDbRoles actualizar.
Para modificar roles personalizados a través de la API de administración de Atlas, consultar Actualizar Uno.
Seguir estos pasos para modificar un rol personalizado mediante la interfaz de usuario de Atlas:
En Atlas, ve a la página Database & Network Access de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
La página Acceso a la base de datos y a la red se muestra.
Modificar el rol personalizado.
Haz clic en la pestaña Custom Roles.
Haga clic Edit junto al Rol que desea modificar. Puede modificar los siguientes componentes del rol:
Las acciones o roles que hereda el rol personalizado.
Las bases de datos y colecciones a las que se aplican esos privilegios.
Haga clic en Update Custom Role para guardar los cambios.
Borrar roles personalizados
Para borrar un rol personalizado de base de datos del proyecto usando Atlas CLI, se debe ejecutar el siguiente comando:
atlas customDbRoles delete <roleName> [options]
Para obtener más información sobre la sintaxis y los parámetros del comando, consultar la documentación de Atlas CLI para atlas customDbRoles borrar.
Para borrar roles personalizados a través de la API de administración de Atlas, consulta Remover uno.
Sigue estos pasos para borrar un rol personalizado a través de la interfaz de usuario de Atlas:
En Atlas, ve a la página Database & Network Access de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
La página Acceso a la base de datos y a la red se muestra.
No puedes borrar un rol personalizado en las siguientes situaciones:
Al borrar el rol, se dejarían uno o más roles secundarios sin roles principales ni acciones.
Al borrar el rol, se dejaría a uno o más usuarios de base de datos sin roles.
Asigne roles personalizados
Pueden asignarse roles personalizados en la interfaz de usuario de Atlas cuando se agregue un usuario de base de datos o modifique un usuario de base de datos. Para asignar roles personalizados a través de la API de administración de Atlas, consultar Crear un usuario de base de datos o Actualizar un usuario de base de datos.