martes, 17 de septiembre de 2019

Crear usuario

Para crear usuarios vamos a usar la bases de datos admin:

use admin
que sirve para almacenar datos de usuarios y sus privilegios. El primer usuario que debemos crear debe tener el privilegio 'userAdminAnyDatabase', que es el equivalente a 'root' o 'admin' (el "superusuario" que administra el sistema)

> db.createUser({user:'bertoldo', pwd:'gominolas', roles: ['userAdminAnyDatabase']})
Successfully added user: { "user" : "bertoldo", "roles" : [ "userAdminAnyDatabase" ] }

Ahora podemos salir y volver a entrar en mongo, para lo que debemos usar los datos del recién creado usuario

 mongo admin -u bertoldo -p
MongoDB shell version: 3.2.1
Enter password:
connecting to: admin
 
Creamos un nuevo usuario que sí puede acceder a cualquier base de datos:

> db.createUser({user:'herminia', pwd:'chufas', roles: ['readWriteAnyDatabase']})

Herminia puede escribir/leer, cambiar de base de datos etc. Sin embargo:

  • No puede crear usuarios
  • Sigue estando obligada a conectarse inicialmente a la base de datos admin,
    que es dentro de la cual fue creado el usuario.
Volvemos a salir/entrar en mongo con el usuario bertoldo, Ahora queremos crear un usuario 'aniceto' que solo tenga acceso de lectura y escritura a la base de datos repuestos, y solo de lectura a la base de datos de clientes.
Para ello, el administrador escribe:

db.createUser({user:'aniceto', pwd:'regalices', roles: [{role:'readWrite', db:'repuestos'}, {role:'read', db:'clientes'}]})

Bertoldo siente que tiene poco poder. Tiene el poder de crear y modificar usuarios, pero él mismo no puede leer y escribir en cualquier base de datos. Por ello decide utilizar db.updateUser para ampliar sus propios privilegios.


db.updateUser('bertoldo',  {roles: ['userAdminAnyDatabase', 'readWriteAnyDatabase']})
db.updateUser tiene dos parámetros (hay más que no contamos por simplicidad):

  • El nombre de usuario
  • El documento de configuracińo con la misma estructura que en createUser, y que reemplaza al que existe en todas las claves en las que coincidan

 

No hay comentarios.:

Publicar un comentario

Unidad 3 - Configuracion y Administracion del Espacio en Disco

3.1 Estructuras logicas de almacenamiento. Para la gestión del almacenamiento de una base de datos existen 4 conceptos bien definidos que ...