Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Node.js 드라이버
/ /

X.509 인증 메커니즘

X.509 인증 메커니즘 에서 서버 와 클라이언트 TLS 프로토콜 사용하여 X.509 공개 키 인증서를 교환합니다. 이 메커니즘을 사용하여 MongoDB Atlas, MongoDB Enterprise Advanced 및 MongoDB Community Edition 에 인증할 수 있습니다.

X.509 메커니즘

Node.js 운전자 와 함께 TLS/SSL을 사용하는 방법을 학습 연결 가이드 에서 TLS 활성화 가이드를 참조하세요.

X.509 인증서에 대한 자세한 내용은 MongoDB Server 매뉴얼에서 x.509 인증서를 사용하여 자체 관리 배포서버에서 클라이언트 인증하기 를 참조하세요.

이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.

  • <cluster_url>: MongoDB deployment 의 네트워크 주소 .

  • <pem_certificate_file_path>: 클라이언트 PEM 인증서 파일 의 경로입니다.

코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.

이 인증 메커니즘은 연결 문자열의 다음 매개 변수를 설정해 지정할 수 있습니다:

  • authMechanism 매개변수를 MONGODB-X509로 설정합니다.

  • tls 매개변수를 true로 설정합니다.

클라이언트 인증서 파일의 위치를 연결 URI의 매개변수인 tlsCertificateKeyFile 값으로 전달합니다.

중요

항상 encodeURIComponent 메서드로 인증서 파일 경로를 URI 인코딩하여 올바르게 구문 분석되도록 합니다.

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);

다음 표에서는 연결 URI에서 설정할 수 있는 TLS 옵션에 대해 설명합니다.

매개변수 이름
유형
기본값
설명

tls

부울

false

연결에서 TLS를 활성화할지 여부를 지정합니다.

tlsInsecure

부울

false

유효하지 않은 인증서 및 일치하지 않는 호스트 이름을 허용할지 여부를 지정합니다. true로 설정하면 tlsAllowInvalidCertificatestlsAllowInvalidHostnamestrue로 설정하는 것과 같습니다.

tlsCAFile

문자열

TLS 연결에 사용되는 신뢰할 수 있는 하나 또는 여러 인증 기관을 포함하는 파일의 경로입니다.

tlsCertificateKeyFile

문자열

클라이언트 인증서 파일 또는 클라이언트 비공개 키 파일의 경로입니다. 둘 다 필요한 경우 두 파일을 단일 파일로 연결해야 합니다.

tlsCertificateKeyFilePassword

버퍼 또는 문자열

클라이언트 비공개 키를 해독하기 위한 비밀번호가 포함된 문자열 또는 버퍼입니다.

tlsAllowInvalidCertificates

부울

false

드라이버에서 유효하지 않은 인증서를 연결에 사용할 수 있도록 허용할지 여부를 지정합니다.

tlsAllowInvalidHostnames

부울

false

서버 호스트 이름과 TLS 인증서 호스트 이름이 일치하지 않을 때 드라이버가 오류를 발생시킬지를 지정합니다.

돌아가기

SCRAM

이 페이지의 내용