Criação de uma conta de banco de dados usando comandos
Quando você cria uma instância do DDS, o sistema cria automaticamente a conta rwuser padrão. Você pode usar a conta padrão rwuser para criar outras contas de banco de dados com base nos requisitos de serviço. Em seguida, você pode usar a conta padrão rwuser ou outras contas criadas para executar operações em dados no banco de dados, como bancos de dados, tabelas e índices.
Precauções
- Ao criar uma conta de banco de dados para uma instância especificada, é aconselhável ativar o SSL para melhorar a segurança dos dados.
- Se as instâncias do DDS existentes forem da versão 3.2, você não poderá criar contas de banco de dados para elas. Você só pode alterar a senha da conta de administrador rwuser.
- Ao criar uma conta de banco de dados, configure passwordDigestor:"server". Para mais detalhes, consulte o documento oficial.
Pré-requisitos
Uma instância do DDS foi conectada. Para obter detalhes, consulte "Conexão a uma instância por meio de uma rede pública" e "Conexão a uma instância por meio de uma rede privada" em Primeiros passos do Document Database Service.
Descrição da conta
- Quando uma instância do DDS é criada, os usuários root, monitor e backup são criados automaticamente. Essas contas pertencem à plataforma de gerenciamento de instâncias do BD da Huawei Cloud e não podem ser operadas ou usadas. A tentativa de excluir, renomear, alterar as senhas ou alterar os privilégios dessas contas resultará em erros.
- Você pode alterar a senha do administrador do banco de dados rwuser e todas as contas que você criar.
- O usuário padrão rwuser e os usuários criados por rwuser têm permissões limitadas nos bancos de dados do sistema admin e config. Eles têm todas as permissões necessárias nos bancos de dados e tabelas criados sob eles.
- Geralmente, um usuário de MongoDB é criado em um banco de dados de autenticação especificado. Ao se conectar a um banco de dados, use --authenticationDatabase para especificar o banco de dados de autenticação correspondente.
- Em uma instância do DDS, o banco de dados de autenticação padrão do usuário rwuser é admin.
- Se você inserir senhas incorretas por cinco vezes consecutivas, a conta será bloqueada por 10 segundos.
Definir a força da senha para contas de banco de dados
- A senha do administrador deve atender à seguinte política de senha:
- Contém de 8 a 32 caracteres.
- Deve ser uma combinação de letras maiúsculas, minúsculas, dígitos e caracteres especiais: ~!@#%^*-_=+?()$
- O usuário do banco de dados criado no cliente deve atender à seguinte política de senha:
- Contém de 8 a 32 caracteres.
- Deve ser uma combinação de letras maiúsculas, minúsculas, dígitos e caracteres especiais: ~@#%-_!*+=^?
Quando você cria uma instância de BD ou define uma senha, o DDS verifica automaticamente a força da senha. Se a senha não atender aos requisitos de complexidade, altere a senha conforme solicitado.
Criação de uma conta
- Execute o seguinte comando para selecionar o banco de dados de administrador:
use admin
- Execute o seguinte comando para criar uma conta de banco de dados (user1 como exemplo):
db.createUser({user: "user1", pwd: "****", passwordDigestor:"server", roles:[{role: "root", db: "admin"}]})
- server indica a senha criptografada no servidor. Tem um valor fixo e não precisa ser alterado.
- ****: indica o exemplo de nova senha. A senha deve ter de 8 a 32 caracteres e conter letras maiúsculas, minúsculas, dígitos e caracteres especiais, como ~@#%-_!*+=^?
- roles restringe os direitos da conta. Se uma matriz vazia for especificada, a conta não terá nenhuma permissão.
- Confira o resultado:
A conta será criada com sucesso se as seguintes informações forem exibidas:
Successfully added user: { "user" : "user1", "passwordDigestor" : "server", "roles" : [ { "role" : "root", "db" : "admin" } ] }
Alteração de uma senha
- Execute o seguinte comando para selecionar o banco de dados de administrador:
use admin
- Utiliza o usuário user1 como exemplo. Execute o seguinte comando para alterar sua senha:
db.updateUser("user1", {passwordDigestor:"server",pwd:"newPasswd12#"})
- server indica a senha criptografada no servidor. Tem um valor fixo e não precisa ser alterado.
- newPasswd12#: indica o exemplo de nova senha. A senha deve ter de 8 a 32 caracteres e conter letras maiúsculas, minúsculas, dígitos e caracteres especiais, como ~@#%-_!*+=^?
- Se a senha contiver qualquer um dos caracteres especiais @/%?# e for usada no URL do MongoDB, escape os caracteres especiais no URL e substitua-os por códigos de URL hexadecimais (códigos ASCII).
- Verifique o resultado da configuração. A senha será alterada com sucesso se as seguintes informações forem exibidas:
- Cluster
mongos>
- Conjunto de réplicas
replica:PRIMARY>
- Nó único
replica:PRIMARY>
- Cluster
Conectar-se a uma instância usando a conta criada
Depois que uma conta de banco de dados é criada, ela pode ser usada para se conectar ao banco de dados. Os detalhes da operação são os seguintes:
- Conexão a uma instância de cluster usando Mongo Shell (rede privada)
- Conexão a uma instância de cluster usando Mongo Shell (rede pública)
- Conexão a uma instância de conjunto de réplicas usando Mongo Shell (rede privada)
- Conexão a uma instância de conjunto de réplicas usando Mongo Shell (rede pública)
- Conexão a uma instância de nó único usando Mongo Shell (rede privada)
- Conexão a uma instância de nó único usando Mongo Shell (rede pública)