馃懁 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