👤 Gestión de usuarios y roles

Gestión de usuarios y roles en MongoDB

👤 Gestión de usuarios y roles

En MongoDB, la gestión de usuarios y roles permite controlar quién puede acceder a tu base de datos y qué operaciones puede realizar. Es fundamental para mantener la seguridad y proteger tus datos.


📘 1️⃣ Usuarios y autenticación

MongoDB requiere autenticación para acceder a las bases de datos. Cada usuario tiene un nombre, contraseña y un conjunto de roles que definen sus permisos. Los usuarios se crean a nivel de base de datos, normalmente en admin para permisos globales.

// Crear un usuario administrador
use admin
db.createUser({
  user: "admin",
  pwd: "ContraseñaSegura123",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
});
  

⚙️ 2️⃣ Roles predefinidos

MongoDB ofrece roles predefinidos que puedes asignar según necesidades:

  • read: Solo lectura en la base de datos.
  • readWrite: Lectura y escritura en la base de datos.
  • dbAdmin: Gestión de índices, estadísticas y usuarios dentro de la base de datos.
  • userAdmin: Gestiona usuarios y roles en la base de datos.
  • readWriteAnyDatabase: Lectura/escritura en todas las bases de datos.
  • userAdminAnyDatabase: Gestiona usuarios en todas las bases de datos.
  • root: Acceso total a todo el servidor MongoDB.

🧩 3️⃣ Crear usuarios específicos para una aplicación

Por ejemplo, para una aplicación de tienda online, podrías crear un usuario limitado:

use tiendaonline
db.createUser({
  user: "appUser",
  pwd: "ContraseñaApp123",
  roles: [ { role: "readWrite", db: "tiendaonline" } ]
});
  

Este usuario solo podrá leer y escribir datos dentro de la base de datos tiendaonline, no podrá administrar usuarios ni acceder a otras bases de datos.


🧠 4️⃣ Autenticación en la conexión

Al conectar tu aplicación a MongoDB, deberás usar las credenciales del usuario creado:

const uri = "mongodb+srv://appUser:ContraseñaApp123@cluster0.mongodb.net/tiendaonline";
const client = new MongoClient(uri);
await client.connect();
  

🔧 5️⃣ Buenas prácticas


🧭 6️⃣ Resumen rápido

  • Los usuarios definen quién puede acceder y qué operaciones realizar.
  • Los roles determinan los permisos específicos de cada usuario.
  • Usa roles predefinidos o crea roles personalizados según tus necesidades.
  • Aplica buenas prácticas de seguridad y mínimo privilegio.

Publicar un comentario

0 Comentarios