MongoDB Crear usuario administrador
La creación de un administrador de usuarios en MongoDB se realiza mediante el método createUser. El siguiente ejemplo muestra cómo se puede hacer esto.
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 se deben crear.
- 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". Este rol 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 de MongoDB que contiene la información para este usuario.
Si el comando se ejecuta con éxito, se mostrará la siguiente salida:
Producción:
El resultado muestra que se creó un usuario llamado "Guru99" y que el usuario tiene privilegios sobre todas las bases de datos en MongoDB.
MongoDB Create User para una sola base de datos
Para crear un usuario que administrará una sola base de datos, podemos usar el mismo comando que se mencionó 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 se deben crear.
- El segundo paso es asignar un rol al usuario que en este caso, dado que debe ser un administrador de base de datos, se asigna al 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 en la que el usuario debe tener privilegios administrativos.
Si el comando se ejecuta con éxito, se mostrará la siguiente salida:
Producción:
El resultado muestra que se creó un usuario llamado "Employeeadmin" y que el 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 un "rol de lectura" que solo permite el acceso de solo lectura a las bases de datos y luego está el rol 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".