Cómo crear un usuario y agregar un rol en MongoDB
MongoDB Crear usuario administrador
Crear un administrador de usuarios en MongoDB Se realiza mediante el método createUser. El siguiente ejemplo muestra cómo se puede hacer.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Explicación del código:
- El primer paso es especificar el "nombre de usuario" y la "contraseña" que deben crearse.
- El segundo paso es asignar un rol al usuario. Ya que necesita ser un administrador de base de datos en cuyo caso le hemos asignado el rol “userAdminAnyDatabase”. Esta función permite al usuario tener privilegios administrativos para todas las bases de datos en MongoDB.
- El parámetro db especifica la base de datos de administración, que es una metabase de datos especial dentro MongoDB que contiene la información de este usuario.
Si el comando se ejecuta correctamente, se mostrará la siguiente salida:
Salida:
El resultado muestra que se creó un usuario llamado "Guru99" y que ese usuario tiene privilegios sobre todas las bases de datos en MongoDB.
MongoDB Crear usuario para base de datos única
Para crear un usuario que administrará una única base de datos, podemos usar el mismo comando mencionado anteriormente, pero solo necesitamos usar la opción "userAdmin".
El siguiente ejemplo muestra cómo se puede hacer esto;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Explicación del código:
- El primer paso es especificar el "nombre de usuario" y la "contraseña" que deben crearse.
- El segundo paso es asignar un rol al usuario que en este caso, dado que debe ser administrador de base de datos, se le asigna el rol “userAdmin”. Este rol permite al usuario tener privilegios administrativos solo para la base de datos especificada en la opción db.
- El parámetro db especifica la base de datos sobre la cual el usuario debe tener privilegios administrativos.
Si el comando se ejecuta correctamente, se mostrará la siguiente salida:
Salida:
El resultado muestra que se creó un usuario llamado "Employeeadmin" y que ese usuario tiene privilegios solo en la base de datos "Empleado".
Administrar usuarios
Primero comprenda los roles que necesita definir. Hay una lista completa de roles disponibles en MongoDB. Por ejemplo, existe la "rol de lectura" que solo permite el acceso de solo lectura a las bases de datos y luego está la función de "lectura y escritura" que proporciona acceso de lectura y escritura a la base de datos, lo que significa que el usuario puede emitir la inserción, eliminación y actualizar comandos en colecciones en esa base de datos.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
El fragmento de código anterior muestra que se crea un usuario llamado Mohan y se le asignan múltiples roles en múltiples bases de datos. En el ejemplo anterior, se le otorga permiso de solo lectura para la base de datos "Marketing" y permiso de lectura y escritura para la base de datos "Ventas".