馃懁 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
- Crear usuarios con permisos m铆nimos necesarios (principio de m铆nimo privilegio).
- No usar el usuario
adminpara aplicaciones normales. - Cambiar contrase帽as regularmente y usar contrase帽as fuertes.
- Auditar accesos y revisar roles peri贸dicamente.
- Para entornos de producci贸n, habilitar TLS/SSL y autenticaci贸n SCRAM-SHA-256.
馃Л 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.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias