La autenticación se aplica cuando el control de acceso está habilitado en una implementación de MongoDB, lo que requiere que los usuarios se identifiquen. Los usuarios solo pueden realizar actividades definidas por sus roles cuando visitan una implementación de MongoDB con el control de acceso habilitado.
El siguiente tutorial utiliza el enfoque de autenticación predeterminado para proporcionar control de acceso en una instancia de Mongo en solitario. Consulte Técnicas de autenticación para obtener una lista de todos los mecanismos de autenticación admitidos.
Administrador de Usuarios
Si el control de acceso está habilitado, asegúrese de que la base de datos de administración tenga un usuario con los roles userAdmin o userAdminAnyDatabase. Este usuario tiene la capacidad de administrar usuarios y roles, incluida la capacidad de crear nuevos usuarios, otorgar o revocar roles a usuarios existentes y crear o cambiar roles personalizados.
Nota: La instancia de MongoDB usa el puerto 27017, así como la ubicación de datos /var/lib/mongodb. El ejemplo supone la existencia del directorio de datos, es decir, /var/lib/mongodb. Y especifique un directorio de datos diferente según corresponda.
Para acceder o modificar la base de datos, MongoDB no requiere un inicio de sesión o contraseña de forma predeterminada. La autenticación obligatoria debe estar habilitada y configurada.
Siga los comandos que se mencionan a continuación para habilitar la autenticación:
Paso 1: Abra un Mongo Shell
mongo
Paso 2: La base de datos binstar debe poder leer y escribir en el repositorio. Para establecer un usuario administrador y un usuario de servicio, ejecute los siguientes comandos en el shell de MongoDB:
use admin
Paso 3: Para administrar los usuarios de la base de datos, cree un usuario administrativo:
db.createUser({user:'siteUserAdmin', pwd: '<secure password #1>', roles:['userAdminAnyDatabase']})
Paso 4: Para validar la contraseña, inicie sesión como ese usuario:
db.auth('siteUserAdmin', '<secure password #1>')
Paso 5: Cree un usuario del servicio de Repositorio:
db.createUser({user:'spandan', pwd: '<secure password #2>', roles:[{db:'binstar', role:'readWrite'}]})
Paso 6: en MongoDB, habilite la autenticación requerida:
- Agregue la clave de autenticación a /etc/mongod.conf si está utilizando el formato de configuración clásico de MongoDB:
auth=true
- Agregue la clave security.authorization a /etc/mongod.conf si está utilizando el formato de configuración actual de MongoDB:
security: authorization: enabled
Paso 7: para volver a cargar la configuración, reinicie MongoDB:
sudo service mongod restart
Paso 8: Establezca la opción URL de MONGO en el archivo de configuración del Repositorio en mongodb:/username:password@hostname>.
Paso 9: reinicie el repositorio después de modificar el archivo de configuración para que los cambios surtan efecto.
Excepción para localhost
Es posible crear usuarios antes o después de activar el control de acceso. MongoDB admite una excepción localhost si activa el control de acceso antes de establecer cualquier usuario. Esto le permite establecer un administrador de usuarios en la base de datos de administración. Una vez que se ha creado un usuario, debe iniciar sesión como administrador de usuarios para agregar otros usuarios según sea necesario.
Publicación traducida automáticamente
Artículo escrito por therebootedcoder y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA