Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Criar um usuário
Nesta página
- Limitações do Atlas do MongoDB
- Pré-requisitos
- Procedimento
- Configurar Usuários do Banco de Dados para Atlas MongoDB
- Abra a caixa de diálogo Add New Database User.
- Selecione Password.
- Insira as informações do usuário.
- Atribuir privilégios.
- Opcional: especifique os recursos no projeto que o usuário pode acessar.
- Opcional: salvar como usuário temporário.
- Clique em Add User.
- Configurar usuários para sistemas auto-hospedados
- Conectar e autenticar
- Criar usuários adicionais para seu sistema
- Conectar à instância e autenticar como
myTester
- Insira um documento como
myTester
- Exemplos adicionais
- Autenticação de nome de usuário/senha
- Autenticação Kerberos
- Autenticação LDAP
- Autenticação de certificado de cliente x.509
- Próximos passos
Com o controle de acesso habilitado, os usuários são obrigados a identificarem-se. Você deve conceder a um usuário uma ou mais funções. Uma função concede a um usuário privilégios para realizar determinadas ações nos recursos do MongoDB.
Cada aplicativo e usuário de um sistema MongoDB deve mapear para um usuário distinto. Esse princípio do isolamento de acesso facilita a revogação de acesso e a manutenção contínua do usuário. Para garantir um sistema com o mínimo privilégio, conceda apenas o conjunto de privilégios exigido a um usuário.
As informações do usuário nesta página se aplicam a sistemas hospedados em todos os ambientes a seguir, a menos que especificado de outra forma:
MongoDB Atlas: o serviço totalmente gerenciado para implantações MongoDB na nuvem
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão código-disponível, de uso gratuito e autogerenciada do MongoDB
Limitações do Atlas do MongoDB
As limitações a seguir se aplicam apenas a sistemas hospedados no MongoDB Atlas. Se algum desses limites apresentar um problema para sua organização, entre em contato com o suporte do Atlas.
O MongoDB Atlas disponível papéis embutidos e privilégios específicos suportam um subconjunto de comandos MongoDB. Consulte Comandos não suportados em M10+ Clusters para mais informações.
O MongoDB Atlas permite um máximo de 100 usuários do banco de dados por projeto do MongoDB Atlas. Se você precisar de mais de 100 usuários de banco de dados em um projeto, entre em contato com o suporte do Atlas.
Você deve usar a Atlas CLI, a API de Administração do Atlas, a interface do usuário do Atlas ou uma integração com suporte para adicionar, modificar ou excluir usuários de banco de dados em sistemas de banco de dados do MongoDB Atlas. Caso contrário, o MongoDB Atlas reverte todas as modificações do usuário.
Pré-requisitos
Para poder criar usuários, você precisa:
Para a criação de usuário de rotina, você deve possuir as seguintes permissões:
Para criar um novo usuário em um banco de dados, você deve ter a ação
createUser
nesse recurso de banco de dados.Para conceder funções a um usuário, você deve ter a ação
grantRole
no banco de dados da função.
Os papéis embutidos do userAdmin
e userAdminAnyDatabase
fornecem ações do createUser
e grantRole
em seus respectivos recursos.
Para criar usuários para o MongoDB Atlas, você deve ter acesso de Proprietário da Organização ou Proprietário do Projeto ao MongoDB Atlas. Essas funções são únicas para o MongoDB Atlas e são separadas dos usuários do banco de dados. Para saber mais, consulte Funções de Usuário do Atlas.
Procedimento
Observação
Os procedimentos a seguir usam a autenticação SCRAM . Para obter informações adicionais sobre outros mecanismos de autenticação, consulte Exemplos Adicionais.
Configurar Usuários do Banco de Dados para Atlas MongoDB
Um projeto do Atlas MongoDB pode ter usuários com métodos de autenticação diferentes.
Você não pode alterar o método de autenticação de um usuário após criá-lo. Para usar um método de autenticação alternativo, você deve criar um novo usuário.
Configurar usuários do banco de dados para seu sistema do MongoDB Atlas que utiliza autenticação SCRAM:
Configurar usuários para sistemas auto-hospedados
Para configurar utilizadores de banco de dados para seu sistema auto-hospedado MongoDB Enterprise ou MongoDB Community, siga estas etapas:
Conectar e autenticar
Usando mongosh
, conecte-se ao seu servidor primary mongod
ou, em um cluster fragmentado, conecte-se ao seu mongos
e autentique-se como administrador usuário ou um usuário com os privilégios necessários:
Criar usuários adicionais para seu sistema
Observação
A etapa a seguir utiliza a autenticação SCRAM . Para obter informações adicionais sobre outros mecanismos de autenticação, consulte Exemplos Adicionais.
Após autenticar como o administrador de usuário, utilize o método db.createUser()
para criar usuários adicionais. Você pode atribuir quaisquer funções internas ou funções definidas pelo usuário aos usuários.
A operação a seguir adiciona um usuário myTester
ao banco de dados test
que tem a função readWrite
no banco de dados test
e a função read
no banco de dados reporting
.
use test db.createUser( { user: "myTester", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "readWrite", db: "test" }, { role: "read", db: "reporting" } ] } )
Dica
O método passwordPrompt()
solicita que você insira a senha. Você também pode especificar sua senha diretamente como uma string. Recomendamos usar o método passwordPrompt()
para evitar que a senha fique visível na tela e possa vazar a senha para o histórico do shell.
O banco de dados onde você cria o usuário (neste exemplo, test
) é o banco de dados de autenticação do usuário. Embora o usuário autentique para este banco de dados, o usuário pode ter roles em outros bancos de dados. O banco de dados de autenticação do usuário não limita os privilégios do usuário.
Após criar os usuários adicionais, saia do mongosh
.
Conectar à instância e autenticar como myTester
Importante
Depois de sair mongosh
como myUserAdmin
, reconecte-se como myTester
:
Insira um documento como myTester
Como o usuário myTester
, você tem privilégios para executar operações
de leitura e escrita no test
banco de dados (assim como executar
operações de leitura no banco de dados do reporting
). Uma vez autenticado como myTester
, insira um documento em uma coleção no banco de dados test
. Por exemplo, você pode executar a seguinte operação de inserção no banco de dados test
:
db.foo.insertOne( { x: 1, y: 1 } )
Dica
Veja também:
Exemplos adicionais
Autenticação de nome de usuário/senha
A seguinte operação cria um usuário no banco de dados reporting
com o nome, senha e funções especificadas.
Dica
O método passwordPrompt()
solicita que você insira a senha. Você também pode especificar sua senha diretamente como uma string. Recomendamos usar o método passwordPrompt()
para evitar que a senha fique visível na tela e possa vazar a senha para o histórico do shell.
use reporting db.createUser( { user: "reportsUser", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "read", db: "reporting" }, { role: "read", db: "products" }, { role: "read", db: "sales" }, { role: "readWrite", db: "accounts" } ] } )
Autenticação Kerberos
Os usuários que autenticam no MongoDB utilizando um mecanismo de autenticação externo, como Kerberos, devem ser criados no banco de dados do $external
, que permite ao mongos
ou mongod
consulta em uma fonte externa para autenticação.
Para usar Client Sessions e Causal Consistency Guarantees com usuários de autenticação $external
(usuários Kerberos, LDAP ou x.509), os nomes de usuário não podem ter mais de 10k bytes.
Para autenticação Kerberos, você deve adicionar o principal Kerberos como o nome de usuário. Você não precisa especificar uma senha.
A seguinte operação adiciona o principal reportingapp@EXAMPLE.NET
Kerberos com acesso somente leitura ao banco de dados records
:
use $external db.createUser( { user: "reportingapp@EXAMPLE.NET", roles: [ { role: "read", db: "records" } ] } )
Dica
Veja também:
Para obter mais informações sobre como configurar a autenticação Kerberos para seu MongoDB deployment, consulte os seguintes tutoriais:
Autenticação LDAP
Os usuários que se autenticam no MongoDB usando um mecanismo de autenticação externo, como o LDAP, devem ser criados no banco de dados $external
, que permite que mongos
ou mongod
consultem uma fonte externa para autenticação.
Para usar Client Sessions e Causal Consistency Guarantees com usuários de autenticação $external
(usuários Kerberos, LDAP ou x.509), os nomes de usuário não podem ter mais de 10k bytes.
Para autenticação LDAP, você deve especificar um nome de usuário. Você não precisa especificar a senha, pois ela é administrada pelo serviço LDAP.
A seguinte operação adiciona o usuário reporting
com acesso de somente leitura ao banco de dados records
:
use $external db.createUser( { user: "reporting", roles: [ { role: "read", db: "records" } ] } )
Dica
Veja também:
Para obter mais informações sobre como configurar a autenticação LDAP para seu MongoDB deployment, consulte os seguintes tutoriais:
Para saber mais sobre como configurar a autenticação LDAP para o MongoDB Atlas, consulte Adicionar Usuários do Banco de Dados na documentação do MongoDB Atlas.
Autenticação de certificado de cliente x.509
Os usuários que se autenticam no MongoDB usando um mecanismo de autenticação externo, como a autenticação de certificado de cliente x.509, devem ser criados no banco de dados $external
, que permite que mongos
ou mongod
consultem uma fonte externa para autenticação.
Para usar Client Sessions e Causal Consistency Guarantees com usuários de autenticação $external
(usuários Kerberos, LDAP ou x.509), os nomes de usuário não podem ter mais de 10k bytes.
Para autenticação de certificados de clientes x.509, você deve adicionar o valor
do subject
do certificado de cliente como um usuário do MongoDB. Cada
certificado de cliente x.509 exclusivo corresponde a um único usuário do MongoDB. Você não precisa especificar uma senha.
A operação a seguir adiciona o usuário do certificado do cliente CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry
com acesso somente de leitura ao banco de dados records
.
use $external db.createUser( { user: "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry", roles: [ { role: "read", db: "records" } ] } )
Dica
Veja também:
Para obter mais informações sobre como configurar a autenticação de certificados de clientes x.509 para seu MongoDB deployment, consulte os seguintes tutoriais:
Para saber mais sobre como configurar o x. Autenticação do Certificado de Cliente 509 para o MongoDB Atlas, consulte Adicionar Usuários do Banco de Dados na documentação do MongoDB Atlas.
Próximos passos
Para gerenciar usuários, atribuir funções e criar funções personalizadas para sua implantação auto-hospedada do MongoDB Enterprise ou MongoDB Community, consulte Gerenciar Usuários e Funções.
Você também pode gerenciar usuários, atribuir funções e criar funções personalizadas para seu sistema do MongoDB Atlas.