Overview
El mecanismo de autenticación SCRAM (Salted Challenge Response Authentication Mechanism) 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 Rust admite los siguientes mecanismos de autenticación basados en SCRAM:
SCRAM-SHA-:256 Un mecanismo de autenticación que utiliza su nombre de usuario y contraseña de la base de datos, cifrados con el
SHA-256algoritmo. Este es el mecanismo de autenticación predeterminado.SCRAM-SHA-:1 Un mecanismo de autenticación que utiliza su nombre de usuario y contraseña de la base de datos, encriptados con el
SHA-1algoritmo.
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, consulte 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.
Marcadores de posición de código
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 datosdb_passwordSu contraseña de base de datosdbLa base de datos de autenticación asociada con el usuario
SCRAM-SHA-256
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 predeterminado:
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)?;
SCRAM-SHA-1
Para especificar el mecanismo de autenticación SCRAM-SHA-1, establezca el campo mechanism de su estructura Credential en 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)?;
Información Adicional
Para obtener más información sobre la autenticación en MongoDB, consulte 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.
Documentación de la API
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: