Visão geral
Neste guia, você aprenderá como autenticar no MongoDB usando os mecanismos de autenticação disponíveis no MongoDB Server. Os mecanismos de autenticação são processos pelos quais o driver e o servidor confirmam a identidade de um cliente para garantir maior segurança antes de se conectar.
Dica
Conectando ao MongoDB
Para saber como estabelecer uma conexão com sua implantação do MongoDB, consulte o guia Conectar ao MongoDB.
Compatibilidade com a edição MongoDB
A tabela a seguir lista os mecanismos de autenticação suportados pelo MongoDB e as edições MongoDB Server com as quais cada mecanismo é compatível. Clique no nome de um mecanismo para saber mais sobre como usá-lo com seu aplicação.
Mecanismo de autenticação | Atlas | Enterprise Advanced | Community |
|---|---|---|---|
Sim | Sim | Sim | |
Sim | Sim | Sim | |
Sim | No | No | |
Sim | Sim | No | |
No | Sim | No |
Solução de problemas de autenticação
Esta seção descreve erros comuns de autenticação e como resolvê-los.
Falha na operação ao ler banco de dados local com autenticação ativada
Se você encontrar o seguinte erro ao tentar ler o banco de dados do local :
Mongo::Error::OperationFailure: not authorized on local to execute command { find: "oplog.rs", filter: { ts: { $gte: Timestamp 1497449043000|0 } }, sort: { $natural: 1 } } (13)
Você pode corrigir isso ajustando as roles do usuário para garantir que ele tenha privilégios para o banco de dados local. Se quiser acessar especificamente o oplog, também é possível criar uma função personalizada com acesso de leitura à coleção oplog.rs do banco de dados local. Para obter mais informações sobre funções, consulte Métodos de gerenciamento de funções no manual do servidor.
Mongo::Auth::O usuário não autorizado não está autorizado a acessar
Alguns usuários relatam encontrar o seguinte erro:
Mongo::Auth::Unauthorized: User ... is not authorized to access ...
Depois de atualizar para o driver Ruby versão 2.5 e posterior, o driver foi alterado para usar o mecanismo de autorização SCRAM por padrão. Esse erro pode acontecer se o mecanismo de autorização com o qual seu usuário foi criado não corresponder ao mecanismo de autorização usado pelo driver. Você pode especificar o mecanismo de autorização preferido usando a opção auth_mech em seu arquivo mongoid.yml.