Como crear una base de datos protegida en mongo sobre Debian

En MongoDB, las bases de datos se crean automáticamente cuando insertas datos, pero si quieres manejar seguridad, lo más recomendado es hacer uso de usuario y contraseña,
previamente a esto debemos tener un usuario Administrador cuyo proceso lo explicamos en Post Anteriores

https://tutorialesjavascript.com/temas/mongodb/creacion_de_usuario_administrador_en_mongo_v7_en_equipo_debian_12
Teniendo claro el post Anterior damos inicio a la creación de la base de datos pero previamente debemos iniciar sesión con un usuario Administrador
                    
                
Ahora vamos a Cambiar a la base de datos deseada
MongoDB no crea hasta que insertas algo, pero puedes definirla así:
                    
                
Ahora vamos a crear el usuario con contraseña y roles
                    
                
debemos tener cuidado de colocar el bd el mismo nombre de la base de datos a la cual el usuario tendrá acceso de lectoescritura 

"user" = nombre del usuario.
"pwd" = contraseña.
"roles" = permisos, en este caso readWrite solo para esta base de datos.

Roles comunes para bases de datos específicas
Estos roles aplican dentro de una base de datos en particular:

read = El usuario puede leer datos, pero no modificarlos.
Ideal para reportes o consultas.
readWrite = Puede leer y escribir en la base de datos.
El más usado en aplicaciones.

Roles administrativos a nivel de base de datos
dbAdmin = Permite administrar la base de datos: crear índices, ver estadísticas, ejecutar validate(), pero no modificar datos.
userAdmin = Puede crear y administrar usuarios en esa base de datos.
dbOwner = Tiene todos los privilegios en esa base de datos (equivale a combinar readWrite, dbAdmin y userAdmin).

Roles a nivel de clúster (más globales)
Estos aplican sobre todo el servidor/clúster, no solo en una DB específica:
clusterAdmin = Acceso administrativo completo al clúster (gestión de nodos, sharding, etc.).
clusterManager = Puede monitorear y administrar clústeres, pero no cambiar usuarios ni roles.
clusterMonitor  = Solo permite monitoreo, consultas a métricas, estado, logs.
hostManager = Permite gestionar servidores (restart, estadísticas de procesos).

Roles administrativos a nivel del sistema
En la base de datos admin se pueden asignar roles globales:
userAdminAnyDatabase = Puede crear y administrar usuarios en cualquier base de datos.
dbAdminAnyDatabase = Administración de todas las bases de datos (índices, validaciones, estadísticas).
readAnyDatabase = Lectura en todas las bases de datos (excepto local).
readWriteAnyDatabase = Lectura y escritura en todas las bases de datos.

Roles especiales
root = Superusuario, con todos los privilegios en todas las bases de datos y clústeres.
backup = Permite ejecutar operaciones de respaldo (mongodump).
restore = Permite restaurar datos (mongorestore).
Ahora Verificamos que el usuario fue creado, podemos usar los siguientes comandos
                    
                
ahora podemos conectarnos usando usuario y contraseña
                    
                
                    
                
Si estas Manejando Sesiones debes repetir el mismo proceso de creación de base datos con el mismo usuario y contraseña pero con los permisos al nuevo nombre de base de datos ejemplo MIBaseDatosSesiones
si te vas a conectar  usando la librearía mongoose en NodeJs puedes usar el siguiente Código
                    
                
                    
                
                    
                
Regresar al Menu
Sobre Nosotros
Aprende a programar en JavaScript y mejora tus habilidades de desarrollo web con nuestra página de programación. Tenemos tutoriales prácticos, consejos útiles y ejemplos de código para ayudarte a dominar las principales técnicas y conceptos de programación en JavaScript. Desde funciones basicas hasta el desarrollo de aplicaciones web complejas con Node.js y Angular, nuestra página lo cubre todo. ¡Visítanos ahora para empezar a construir tus habilidades de programación en JavaScript hoy mismo!
Tags
Suscríbete
Obtenga informacion de nuestro contenido directamente en su bandeja de entrada!
Continuar
© 2025 tutorialesjavascript.com . All rights reserved. Design with by www.waco.com.co