Visão geral
O mecanismo de autenticação do MONGODB-X509 utiliza Transport Level Security (TLS) com certificados X.509 para autenticar seu usuário, que é identificado pelos nomes diferenciados relativos (RDNs) do seu certificado de cliente.
Você pode usar X.509 para autenticar nos MongoDB Atlas, Enterprise Advanced e MongoDB Community Edition.
Dica
Para saber mais sobre os certificados X.509, consulte x.509 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:
path to CA certificate: O caminho de arquivo para seu arquivo CApath to private client key: O caminho de arquivo para seu arquivo de chave de certificadopassword for client key: a senha usada para descriptografar a chave do clientedb: O banco de dados de autenticação associado ao usuário
Configurar
Ao especificar esse mecanismo de autenticação, você deve fornecer os seguintes arquivos:
Um arquivo de autoridade de certificação (CA), que contém uma ou mais autoridades de certificação nas quais confiar ao fazer uma conexão TLS. Antes de se conectar ao servidor, o driver usa esse arquivo para verificar se o certificado do servidor é de uma das autoridades de certificação especificadas.
Um arquivo de chave de certificado, que contém o certificado do cliente e a chave privada. O driver apresenta este arquivo ao servidor para verificar o cliente.
Exemplo
Para especificar o mecanismo de autenticação MONGODB-X509, defina o campo mechanism da estrutura Credential como AuthMechanism::MongoDbX509.
O código a seguir mostra como fazer referência a seus certificados em sua connection string, especificar o mecanismo de autenticação MONGODB-X509 e conectar-se ao MongoDB:
let uri = format!( "mongodb://<hostname>:<port>/?tlsCAFile={tlsCAFile}\ &tlsCertificateKeyFile={tlsCertificateKeyFile}\ &tlsCertificateKeyFilePassword={tlsCertificateKeyFilePassword}", tlsCAFile = "<path to CA certificate>", tlsCertificateKeyFile = "<path to private client key>", tlsCertificateKeyFilePassword = "<password for client key>" ); let mut client_options = ClientOptions::parse(uri).await?; let x509_cred = Credential::builder().mechanism(AuthMechanism::MongoDbX509).build(); client_options.credential = Some(x509_cred); let client = Client::with_options(client_options)?;
Dica
Para saber mais sobre como habilitar o TLS em uma conexão, consulte o guia Habilitar e configurar o TLS.
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: