Visão geral
O Mecanismo de Autenticação de Resposta do Desafio Salgado (SCRAM) é uma família de mecanismos de autenticação que usa um nome de usuário e senha para autenticar em um servidor.
O driver Rust é compatível com os seguintes mecanismos de autenticação baseados em SCRAM:
SCRAM-SHA-256: um mecanismo de autenticação que utiliza seu nome de usuário e senha do banco de dados, criptografado com o algoritmo
SHA-256. Este é o mecanismo de autenticação padrão .SCRAM-SHA-1: um mecanismo de autenticação que utiliza seu nome de usuário e senha do banco de dados , codificado com o algoritmo
SHA-1.
Você pode usar o SCRAM para autenticar no MongoDB Atlas, Enterprise Advanced e MongoDB Community Edition.
Dica
Mecanismos SCRAM
Para saber mais sobre a família SCRAM de mecanismos de autenticação, consulte RFC 5802 e Salted Challenge Response Authentication Mechanism na Wikipedia.
Para obter mais informações sobre a implementação do MongoDB do SCRAM, consulte SCRAM no manual do MongoDB Server .
Espaços reservados de código
Os exemplos de código nesta página usam os seguintes espaços reservados:
db_username: Seu nome de usuário do banco de dados de dadosdb_password: Sua senha do banco de dados de dadosdb: O banco de dados de autenticação associado ao usuário
SCRAM-SHA-256
Como SCRAM-SHA-256 é o mecanismo de autenticação padrão, você pode omitir o campo mechanism ao instanciar sua estrutura Credential para usar esse mecanismo.
O exemplo a seguir especifica o mecanismo de autenticação padrão:
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 explicitamente o mecanismo de autenticação SCRAM-SHA-256, defina o campo mechanism da estrutura Credential como 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 o mecanismo de autenticação SCRAM-SHA-1, defina o campo mechanism da estrutura Credential como 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)?;
Informações adicionais
Para saber mais sobre autenticação no MongoDB, consulte Autenticação no manual do servidor MongoDB.
Para saber mais sobre como gerenciar usuários da sua MongoDB deployment, consulte Usuários no manual do Servidor MongoDB.
Documentação da API
Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: