View a markdown version of this page

Autenticación mediante SCRAM-SHA-256 - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Autenticación mediante SCRAM-SHA-256

Amazon DocumentDB (compatible con MongoDB) admite el mecanismo de autenticación Salted Challenge Response (SCRAM) para la autenticación basada en contraseñas. Con SCRAM, el servidor verifica que un cliente conozca la contraseña de un usuario sin transmitir la contraseña al servidor. Amazon DocumentDB admite dos mecanismos de SCRAM: y. SCRAM-SHA-1 SCRAM-SHA-256 SCRAM-SHA-256utiliza la función SHA-256 hash más potente y funciona con el modo FIPS.

Al crear o actualizar ese usuario, se asignan uno o ambos mecanismos de SCRAM a un usuario. Los usuarios que se crearon con SCRAM-SHA-1 siguen funcionando sin ningún cambio. SCRAM-SHA-256 la autenticación está disponible en las versiones secundarias 5.0.1+ y 8.0.1+ de clústeres basados en instancias de Amazon DocumentDB.

La autenticación de SCRAM e IAM se excluyen mutuamente

Un usuario puede tener un mecanismo SCRAM o el MONGODB-AWS mecanismo, pero no ambos. Para obtener información sobre la autenticación de identidad de IAM, consulte. Autenticación mediante la identidad de IAM

Creación de usuarios con mecanismos de SCRAM

Al crear un usuario, puede especificar los mecanismos de SCRAM que desea habilitar en el mechanisms campo. Los ejemplos siguientes crean usuarios con SCRAM-SHA-1 solo, SCRAM-SHA-256 solo y ambos mecanismos:

db.runCommand({ createUser: 'sha1user', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1'] }); db.runCommand({ createUser: 'sha256user', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-256'] }); db.runCommand({ createUser: 'bothuser', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256'] });

Mecanismos predeterminados

Si no especifica el mechanisms campo, Amazon DocumentDB habilita ambos campos SCRAM-SHA-1 y SCRAM-SHA-256 para el usuario. Los dos comandos siguientes son equivalentes:

db.runCommand({ createUser: 'user1', pwd: passwordPrompt(), roles: ['readWrite'] }); // is equivalent to: db.runCommand({ createUser: 'user1', pwd: passwordPrompt(), roles: ['readWrite'], mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256'] });

Al habilitar ambos mecanismos de forma predeterminada, se mantiene la compatibilidad con los controladores MongoDB más antiguos, que solo los admiten. SCRAM-SHA-1 Se prefieren los controladores más nuevos y el modo FIPS. SCRAM-SHA-256 Si no quieres que ningún usuario se autentiqueSCRAM-SHA-1, especifícalo solo SCRAM-SHA-256 en el mechanisms campo para todos tus usuarios.

Actualización de los usuarios existentes

Los usuarios creados con SCRAM-SHA-1 siguen siendo compatibles sin cambios. Para cambiar un usuario existente de SCRAM-SHA-1 aSCRAM-SHA-256, actualice el usuario con una contraseña nueva y el SCRAM-SHA-256 mecanismo:

db.runCommand({ updateUser: 'existing', pwd: passwordPrompt(), mechanisms: ['SCRAM-SHA-256'] });

Autenticando con SCRAM-SHA-256

El controlador se autentica automáticamente mediante los parámetros de la cadena de conexión antes de enviar el primer comando en cada conexión. Para seleccionar SCRAM-SHA-256 un URI de conexión, defina SCRAM-SHA-256 el authMechanism parámetro en:

mongodb://username:password@hostname:port/authenticationDatabase?authMechanism=SCRAM-SHA-256

También puedes enviar una solicitud de autenticación explícita desde mongosh:

db.auth({user: 'sha256user', pwd: passwordPrompt(), mechanism: 'SCRAM-SHA-256'}) Enter password: 1

Si no especificas un mecanismo de autenticación en tus opciones de conexión, el controlador selecciona automáticamente un mecanismo compatible con el usuario de la base de datos de destino.