Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Usuários em implantações autogerenciadas

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() usando mongosh. O primeiro usuário que você cria deve ter privilégios para criar outros usuários. A função userAdmin ou 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.

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 após a 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 obter mais informações sobre funções, consulte Controle de acesso baseado em funções em implantações autogerenciadas.

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 compact ou rs.reconfig(), exigem conexões diretas com fragmentos 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 fragmento.

Para criar um usuário administrativo local do fragmento, conecte-se diretamente ao primário do fragmento e crie o usuário. Para obter instruções sobre como criar um administrador de usuário local do fragmento, consulte o tutorial Implantar cluster fragmentado autogerenciado com autenticação de arquivos-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.

A partir do MongoDB 8.0, você pode usar a função directShardOperations para realizar operações de manutenção que exigem que você execute comandos diretamente em um shard.

As conexões diretas com um fragmento devem ser usadas somente para manutenção e configuração específicas do fragmento. Em geral, os clientes devem se conectar ao cluster fragmentado por meio do mongos.

Aviso

Executar comandos utilizando a função directShardOperations pode fazer com que seu cluster pare de funcionar corretamente e pode causar corrupção de dados. Use a função directShardOperations apenas para fins de manutenção ou sob a orientação do suporte do MongoDB . Quando terminar de executar as operações de manutenção, pare de usar a função directShardOperations .

Voltar

Exceção do Localhost