Gestionar usuarios y roles en MongoDB puede ser un poco complicado en comparación con SQL, pero una vez que estás familiarizado con el sistema, se vuelve simple y directo.
Aquí hay una serie de pasos que puedes seguir:
1. Crear usuario administrador: Cuando inicies MongoDB por primera vez, debes crear un usuario administrador.
```javascript
use admin
db.createUser(
{
user: “myUserAdmin”,
pwd: “abc123”,
roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ]
}
)
```
2. Crear más usuarios: Una vez que haya creado un usuario administrador, ya puedes autenticar el servidor MongoDB con este usuario, y luego usar este usuario para crear más usuarios para diferentes bases de datos.
```javascript
use products
db.createUser(
{
user: “myProductManager”,
pwd: “abc123”,
roles: [ { role: “readWrite”, db: “products” }]
}
)
```
3. Gestión de roles: MongoDB tiene un sistema detallado para definir roles de usuario. Incluso puedes crear tu propio rol con permisos personalizados.
```javascript
use admin
db.createRole(
{
role: “executeRead”,
privileges: [
{ resource: { db: “products”, collection: “” }, actions: [ “find” ] }
],
roles: []
}
)
```
4. Asignación de roles a usuarios: Para asignar roles a usuarios puedes usar el método grantRolesToUser().
```javascript
db.grantRolesToUser(
“myProductManager”,
[
{ role: “executeRead”, db: “admin” }
]
)
```
5. Eliminar roles a usuarios: Para remover roles de usuarios puedes usar el método revokeRolesFromUser().
```javascript
db.revokeRolesFromUser(
“myProductManager”,
[
{ role: “readWrite”, db: “products” }
]
)
```
Es importante recordar que todos estos métodos son ejecutados en el shell MongoDB. Configura primero tu servidor MongoDB para requerir autenticación antes de crear cualquier usuario administrador.