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 を認証できます。

Tip

X.509 メカニズム

Node.jsドライバーで TLS/SSL を使用する方法については、「接続で TLS を有効にする」ガイドを参照してください。

X.509 証明書の詳細については、 MongoDB Serverマニュアルの「 x.509 証明書を使用した自己管理型配置でクライアントの認証 」を参照してください。

このページのコード例では、次のプレースホルダーを使用します。

  • <cluster_url>: MongoDBデプロイのネットワーク アドレス。

  • <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

string

TLS 接続で使用される単一のまたは一連の信頼できる証明機関を含むファイルへのパス。

tlsCertificateKeyFile

string

クライアント証明書ファイルまたはクライアント秘密キー ファイルへのパス。両方必要な場合は、2 つを 1 つのファイルに連結する必要があります。

tlsCertificateKeyFilePassword

バッファまたは文字列

クライアントの秘密キーを復号化するためのパスワードを含む文字列またはバッファ。

tlsAllowInvalidCertificates

ブール値

false

ドライバーが無効な証明書を使用して接続することを許可するかどうかを指定します。

tlsAllowInvalidHostnames

ブール値

false

サーバーのホスト名と TLS 証明書のホスト名が一致しない場合にドライバーがエラーを発生させるかどうかを指定します。

戻る

SCRAM

項目一覧