Docs Menu
Docs Home
/ /

Cambie su contraseña y datos personalizados en implementaciones autogestionadas

Los usuarios con privilegios adecuados pueden cambiar sus propias contraseñas y datos personalizados. Custom data almacena información opcional del usuario.

Para generar una contraseña segura que se pueda utilizar en este procedimiento, utiliza el comando rand de la utilidad openssl. Por ejemplo, ejecuta openssl rand con las siguientes opciones para crear una cadena codificada en base64 de 48 bytes pseudoaleatorios:

openssl rand -base64 48

Para modificar su propia contraseña y datos personalizados, debe tener privilegios que otorguen changeOwnPassword y changeOwnCustomData acciones respectivamente en la base de datos del usuario.

1

Conéctese amongodomongoscon privilegios para administrar usuarios y roles, como un usuario con el roluserAdminAnyDatabase. El siguiente procedimiento utiliza el myUserAdmin creado en "Habilitar control de acceso en implementaciones autoadministradas".

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

Si no especifica la contraseña para el -p opción de línea de comandos, solicita lamongosh contraseña.

2

En la base de datos admin, createun nuevo rol conchangeOwnPasswordychangeOwnCustomData.

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

En la test base decreate datos, se crea un nuevo usuario con el "changeOwnPasswordCustomDataRole" rol. Por ejemplo, la siguiente operación crea un usuario con el rol integrado readWrite y ​​el rol, creado por el "changeOwnPasswordCustomDataRole" usuario.

Tip

Puedes usar el método passwordPrompt() en conjunto con varios métodos y comandos de gestión de autenticación de usuarios para solicitar la contraseña en lugar de especificar la contraseña directamente en la llamada al método o comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con las versiones anteriores del shell mongo.

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

Para otorgarle a un usuario existente el nuevo rol,db.grantRolesToUser() utilice.

1

Conéctese a mongod o como un usuario con los privilegios mongos adecuados.

Por ejemplo, la siguiente operación se conecta a MongoDB como user123 creado en la sección Prerrequisitos.

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

Si no especificas la contraseña para la opción de línea de comandos -p, mongosh solicita la contraseña.

Para comprobar que tiene los privilegios especificados en la sección Requisitos previos, así como para ver la información del usuario, utilice el comando con usersInfo la showPrivileges opción.

2

Utilice el método para actualizar la contraseña y los datos db.updateUser() personalizados.

Por ejemplo, la siguiente operación cambia la contraseña del usuario a KNlZmiaNUp0B y los datos personalizados a { title: "Senior Manager" }:

Tip

Puedes usar el método passwordPrompt() en conjunto con varios métodos y comandos de gestión de autenticación de usuarios para solicitar la contraseña en lugar de especificar la contraseña directamente en la llamada al método o comando. Sin embargo, aún puedes especificar la contraseña directamente como lo harías con las versiones anteriores del shell mongo.

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

Introduzca la contraseña cuando se lo pidan.

Volver

Gestionar Usuarios y Roles

En esta página