Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Usuários

Nesta página

  • Gerenciamento de usuários
  • Usuários Gerenciados por LDAP
  • Banco de dados de autenticação
  • Dados centralizados do usuário
  • Usuários de cluster fragmentado
  • Usuários locais do shard

Para autenticar um cliente no MongoDB, você deve adicionar um usuário correspondente ao MongoDB.

Você pode adicionar um usuário com o método db.createUser() utilizando mongosh. O primeiro usuário que você cria deve ter privilégios para criar outros usuários. Tanto a função userAdmin quanto a userAdminAnyDatabase conferem o privilégio de criar outros usuários.

Dica

Veja também:

Você pode conceder privilégios a um usuário atribuindo funções ao criá-lo. Você também pode conceder ou revogar funções, bem como atualizar senhas, atualizando os usuários existentes. Para uma lista completa de métodos de gerenciamento de usuários, consulte Gerenciamento de usuários.

Dica

Um usuário é identificado exclusivamente pelo nome do usuário e pelo banco de dados de autenticação associado. O MongoDB associa um usuário a um userId exclusivo na criação no MongoDB.

Os usuários gerenciados LDAP criados em um servidor LDAP não têm um documento associado na collection system.users e, portanto, não têm um campo userId associado a eles.

Ao adicionar um usuário, você cria o usuário em um banco de dados específico. O banco de dados no qual você cria o usuário é o banco de dados de autenticação para o usuário.

Os privilégios de um usuário não estão limitados ao seu banco de dados de autenticação. Portanto, um usuário pode ter privilégios em diferentes bancos de dados. Para mais informações sobre funções, consulte Controle de acesso baseado em funções.

O nome de um usuário e o banco de dados de autenticação servem como um identificador exclusivo para esse usuário. O MongoDB associa um usuário a um userId exclusivo após a criação no MongoDB. No entanto, os usuários gerenciados LDAP criados em um servidor LDAP não têm um documento associado na collection system.users e, portanto, não têm um campo userId associado a eles.

Se dois usuários tiverem o mesmo nome, mas forem criados em bancos de dados diferentes, eles serão dois usuários separados. Se você deseja ter um único usuário com permissões em vários bancos de dados, crie um único usuário com um papel para cada banco de dados aplicável.

Para usuários criados no MongoDB, o MongoDB armazena todas as informações do usuário, incluindo name, password e authentication database do usuário, na collection system.users no banco de dados do admin.

Não modifique esta collection diretamente. Para gerenciar usuários, use os comandos de gerenciamento de usuários designados.

Para criar usuários para um cluster fragmentado, conecte-se a uma instância mongos e adicione os usuários. Para se autenticar como um usuário criado em uma instância mongos, você deve se autenticar por uma instância mongos.

Em clusters fragmentados, o MongoDB armazena os dados de configuração do usuário no banco de dados do admin dos servidores de configuração.

Algumas operações de manutenção, como cleanupOrphaned, compact ou rs.reconfig(), exigem conexões diretas com shards específicos em um cluster fragmentado. Para executar essas operações, você deve se conectar diretamente ao shard e autenticar como um usuário administrativo local do shard.

Para criar um usuário administrativo local do shard, conecte-se diretamente ao primário do shard e crie o usuário. Para obter instruções sobre como criar um administrador de usuário local do shard, consulte o tutorial Distribuir cluster fragmentado com autenticação de arquivo de chave.

O MongoDB armazena usuários locais do shard no banco de dados admin do próprio shard. Esses usuários locais do shard são independentes dos usuários adicionados ao cluster fragmentado por meio de um mongos. Os usuários locais do shard são locais para o shard e são inacessíveis por mongos.

As conexões diretas com um shard devem ser usadas somente para manutenção e configuração específicas do shard ou para volumes de trabalho de análise direcionados. Em geral, os clientes devem se conectar ao cluster fragmentado através do mongos.

← Exceção do Localhost