Overview
En esta guía, aprenderá a autenticarse en MongoDB mediante los mecanismos de autenticación disponibles en MongoDB Server. Estos mecanismos son procesos mediante los cuales el controlador y el servidor confirman la identidad de un cliente para garantizar la seguridad antes de conectarse.
Tip
Conectando a MongoDB
Para saber cómo establecer una conexión con tu implementación de MongoDB, consulta la Guía para conectar a MongoDB.
Compatibilidad de la edición de MongoDB
La siguiente tabla enumera los mecanismos de autenticación compatibles con MongoDB y las ediciones de MongoDB Server. Haga clic en el nombre de un mecanismo para obtener más información sobre cómo usarlo en su aplicación.
Mecanismo de autenticación | Atlas | Enterprise Advanced | Community |
|---|---|---|---|
Sí | Sí | Sí | |
Sí | Sí | Sí | |
Sí | No | No | |
Sí | Sí | No | |
No | Sí | No |
Solución de problemas de autenticación
Esta sección describe los errores comunes de autenticación y cómo resolverlos.
Fallo de operación al leer la base de datos local con autenticación activada
Si encuentras el siguiente error al intentar leer el local database:
Mongo::Error::OperationFailure: not authorized on local to execute command { find: "oplog.rs", filter: { ts: { $gte: Timestamp 1497449043000|0 } }, sort: { $natural: 1 } } (13)
Puedes solucionar esto ajustando los roles de tu usuario para asegurarte de que tu usuario tenga privilegios en la base de datos local. Si específicamente deseas acceder al oplog, también puedes crear un rol personalizado con acceso de lectura a la colección oplog.rs de la base de datos local. Para más información sobre roles, consulta
Métodos de gestión de roles en el manual de Servidores.
Mongo::Auth::Unauthorized El usuario no está autorizado para acceder
Algunos usuarios informan haber encontrado el siguiente error:
Mongo::Auth::Unauthorized: User ... is not authorized to access ...
Después de actualizar a la versión 2.5 del controlador de Ruby y posteriores, el controlador pasó a utilizar el mecanismo de autorización SCRAM por defecto. Este error podría ocurrir si el mecanismo de autorización con el que se creó el usuario no coincide con el mecanismo de autorización utilizado por el driver. Puedes especificar el mecanismo de autorización preferido usando la opción auth_mech en tu archivo mongoid.yml.