Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

SCRAM

Mecanismo de autenticación de respuesta a desafíos con sal (SCRAM) es una familia de mecanismos de autenticación que utilizan un nombre de usuario y una contraseña para autenticarse en un servidor.

El controlador de Rust admite los siguientes mecanismos de autenticación basados en SCRAM:

  • SCRAM-SHA-256: Un mecanismo de autenticación que utiliza el nombre de usuario y la contraseña de la base de datos, cifrados con el SHA-256 algoritmo. Este es el mecanismo de autenticación por defecto.

  • SCRAM-SHA-1: Un mecanismo de autenticación que utiliza tu nombre de usuario y contraseña de la base de datos, cifrados con el algoritmo SHA-1.

Puede utilizar SCRAM para autenticarse en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.

Tip

Mecanismos SCRAM

Para obtener más información sobre la familia de mecanismos de autenticación SCRAM, consulta RFC 5802 y Salted Challenge Response Authentication Mechanism en Wikipedia.

Para obtener más información sobre la implementación SCRAM de MongoDB, consulte SCRAM en el manual del servidor de MongoDB.

Los ejemplos de código en esta página utilizan los siguientes marcadores de posición:

  • db_username: El nombre de usuario de tu base de datos

  • db_passwordSu contraseña de base de datos

  • dbLa base de datos de autenticación asociada con el usuario

Puesto que SCRAM-SHA-256 es el mecanismo de autenticación por defecto, puedes omitir el campo mechanism cuando instancias tu estructura Credential para utilizar este mecanismo.

El siguiente ejemplo especifica el mecanismo de autenticación por defecto:

let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).await?;
let default_cred = Credential::builder()
.username("<db_username>".to_string())
.password("<db_password>".to_string())
.source("<db>".to_string())
.build();
client_options.credential = Some(default_cred);
let client = Client::with_options(client_options)?;

Para especificar explícitamente el mecanismo de autenticación SCRAM-SHA-256, establezca el campo mechanism de su estructura Credential en AuthMechanism::ScramSha256:

let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).await?;
let scram_sha_256_cred = Credential::builder()
.username("<db_username>".to_string())
.password("<db_password>".to_string())
.mechanism(AuthMechanism::ScramSha256)
.source("<db>".to_string())
.build();
client_options.credential = Some(scram_sha_256_cred);
let client = Client::with_options(client_options)?;

Para especificar el mecanismo de autenticación SCRAM-SHA-1, establezca el campo mechanism de su estructura Credential a AuthMechanism::ScramSha1:

let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).await?;
let scram_sha_1_cred = Credential::builder()
.username("<db_username>".to_string())
.password("<db_password>".to_string())
.mechanism(AuthMechanism::ScramSha1)
.source("<db>".to_string())
.build();
client_options.credential = Some(scram_sha_1_cred);
let client = Client::with_options(client_options)?;

Para aprender más sobre la autenticación en MongoDB, consulta Autenticación en el manual del servidor.

Para aprender más sobre cómo gestionar usuarios en tu implementación de MongoDB, consulta Usuarios en el manual del servidor.

Para obtener más información sobre los métodos y tipos mencionados en esta guía, vea la siguiente documentación de la API:

Volver

Autenticación

En esta página