Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Altere sua senha e dados personalizados

Usuários com privilégios apropriados podem alterar suas próprias senhas e dados personalizados. Custom data armazena informações opcionais do usuário.

Para gerar uma senha forte para uso neste procedimento, você pode utilizar o comando openssl da utilidade rand. Por exemplo, questão openssl rand com as seguintes opções para criar uma string codificada por base48 de 48 bytes pseudo-aleatórios:

openssl rand -base64 48

Para modificar sua própria senha e dados personalizados, você deve ter privilégios que concedam changeOwnPassword e changeOwnCustomData ações respectivamente no banco de dados do usuário.

1

Conecte ao mongod ou mongos com privilégios para gerenciar usuários e roles, como um usuário com role userAdminAnyDatabase . O procedimento a seguir usa o myUserAdmin criado em Habilitar controle de acesso em implementações autogerenciadas.

mongosh --port 27017 -u myUserAdmin -p --authenticationDatabase 'admin'

If you do not specify the password to the -p command-line option, mongosh prompts for the password.

2

No banco de dados do admin, create uma nova função com changeOwnPassword e changeOwnCustomData.

use admin
db.createRole(
{ role: "changeOwnPasswordCustomDataRole",
privileges: [
{
resource: { db: "", collection: ""},
actions: [ "changeOwnPassword", "changeOwnCustomData" ]
}
],
roles: []
}
)
3

No banco de dados do test, create um novo usuário com o papel criado do "changeOwnPasswordCustomDataRole". Por exemplo, a seguinte operação cria um usuário com o papel embutido readWrite e o "changeOwnPasswordCustomDataRole" criado pelo usuário.

Dica

Você pode usar o método passwordPrompt() em conjunto com vários métodos e comandos de gerenciamento de autenticação de usuário para solicitar a senha em vez de especificar a senha diretamente na chamada de método ou comando. No entanto, você ainda pode especificar a senha diretamente como faria com versões anteriores do shell mongo.

use test
db.createUser(
{
user:"user123",
pwd: passwordPrompt(), // or cleartext password
roles:[ "readWrite", { role:"changeOwnPasswordCustomDataRole", db:"admin" } ]
}
)

Para conceder a um usuário existente a nova role, utilize db.grantRolesToUser().

1

Conecte ao mongod ou mongos como um usuário com privilégios apropriados.

Por exemplo, a seguinte operação conecta ao MongoDB como user123 criado na seção Pré-requisitos.

mongosh --port 27017 -u user123 --authenticationDatabase 'test' -p

If you do not specify the password to the -p command-line option, mongosh prompts for the password.

To check that you have the privileges specified in the Prerequisites section as well as to see user information, use the usersInfo command with the showPrivileges option.

2

Utilize o método db.updateUser() para atualizar a senha e os dados personalizados.

Por exemplo, a seguinte operação altera a senha do usuário para KNlZmiaNUp0B e dados personalizados { title: "Senior Manager" } para

Dica

Você pode usar o método passwordPrompt() em conjunto com vários métodos e comandos de gerenciamento de autenticação de usuário para solicitar a senha em vez de especificar a senha diretamente na chamada de método ou comando. No entanto, você ainda pode especificar a senha diretamente como faria com versões anteriores do shell mongo.

use test
db.updateUser(
"user123",
{
pwd: passwordPrompt(), // or cleartext password
customData: { title: "Senior Manager" }
}
)

Digite a senha quando solicitado.