Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Controlador Node.js
/ /

X.509 Mecanismo de autenticação

In the X.509 authentication mechanism, the server and client use the TLS protocol to exchange X.509 public-key certificates. You can use this mechanism to authenticate to MongoDB Atlas, MongoDB Enterprise Advanced, and MongoDB Community Edition.

Dica

X.509 Mecanismo

Para saber como usar o TLS/SSL com o driver Node.js, consulte o guia Habilitar TLS em uma conexão.

Para obter mais informações sobre certificados X.509, consulte Usar x.509 certificados para autenticar clientes em sistemas autogerenciados no manual do MongoDB Server.

Os exemplos de código nesta página usam os seguintes espaços reservados:

  • <cluster_url>: O endereço de rede da sua implantação MongoDB .

  • <pem_certificate_file_path>: O caminho para o arquivo de certificado PEM do cliente .

Para usar os exemplos de código, substitua esses espaços reservados por seus próprios valores.

Você pode especificar esse mecanismo de autenticação definindo os seguintes parâmetros da string de conexão:

  • Configure o parâmetro authMechanism para MONGODB-X509

  • Configure o parâmetro tls para true

Passe o local do seu arquivo de certificado do cliente como o valor de tlsCertificateKeyFile como um parâmetro do URI de conexão.

Importante

Sempre codifique em URI o caminho do arquivo de certificado usando o método encodeURIComponent para garantir que ele seja analisado corretamente.

const { MongoClient } = require("mongodb");
// Replace the following with values for your environment.
const clusterUrl = "<cluster_url>";
const clientPEMFile = encodeURIComponent("<pem_certificate_file_path>");
const authMechanism = "MONGODB-X509";
// Replace the following with your MongoDB deployment's connection string.
const uri =
`mongodb+srv://${clusterUrl}/?authMechanism=${authMechanism}&tls=true&tlsCertificateKeyFile=${clientPEMFile}`;
// Create a new MongoClient
const client = new MongoClient(uri);
// Function to connect to the server
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

A tabela a seguir descreve as opções de TLS que você pode definir em um URI de conexão.

Nome do Parâmetro
Tipo
Valor padrão
Descrição

tls

booleano

false

Especifica se deseja habilitar o TLS na conexão.

tlsInsecure

booleano

false

Especifica se permite certificados inválidos e nomes de host incompatíveis. Quando definido como true, isso equivale a definir tlsAllowInvalidCertificates e tlsAllowInvalidHostnames como true.

tlsCAFile

string

Caminho para o arquivo que contém uma única autoridade de certificação confiável ou um pacote de autoridades de certificação confiáveis usadas em uma conexão TLS.

tlsCertificateKeyFile

string

Caminho para o arquivo de certificado do cliente ou o arquivo de chave privada do cliente. Se ambos forem necessários, os dois devem ser concatenados em um único arquivo.

tlsCertificateKeyFilePassword

buffer ou string

String ou buffer que contém a senha para descriptografar a chave privada do cliente.

tlsAllowInvalidCertificates

booleano

false

Especifica se o driver permite que um certificado inválido seja usado para se conectar.

tlsAllowInvalidHostnames

booleano

false

Especifica se o driver gera um erro quando há uma incompatibilidade entre o nome de host do servidor e o nome do host do certificado TLS.

Voltar

SCRAM

Nesta página