Overview
X.509 認証メカニズムでは、サーバーとクライアントは TLS プロトコルを使用して X.509 公開鍵証明書を交換します。このメカニズムを使用して、 MongoDB Atlas、 MongoDB Enterprise Advanced、 MongoDB Community Edition を認証できます。
Tip
X.509 メカニズム
コード プレースホルダー
このページのコード例では、次のプレースホルダーを使用します。
+srv
: MongoDB Atlasクラスターに接続している場合にのみ、このオプションを接続文字列のプレフィックスに含めます。+srv
オプションの詳細については、 MongoDB Serverマニュアルの「 接続文字列の形式 」を参照してください。<hostname>
: MongoDBデプロイのネットワーク アドレス。<port>
: MongoDBデプロイのポート番号。 このパラメーターを省略すると、ドライバーはデフォルトのポート番号(27017
)を使用します。 MongoDB Atlasクラスターに接続する場合、ポート番号は必要ありません。<username>
: X.509 証明書に関連付けられたユーザーのユーザー名。 ユーザー名は、証明書の識別サブジェクト名と一致する必要があります。 このパラメータを省略すると、 MongoDBデプロイはX.509 証明書からユーザー名を推測します。<password>
: X.509 証明書のパスワード。
このページのコード例を使用するには、これらのプレースホルダーを独自の値に置き換えます。
アプリケーションでの X.509 認証の使用
X.509認証では、証明書検証を使用した TLS暗号化を使用する必要があります。クライアントを認証するには、有効な TLS 証明書と 秘密暗号化のキー が必要です。これらは個別のファイルに保存することも、1 つの .pem
ファイルにまとめて保存することもできます。
注意
証明書と秘密キーが同じファイルに保存されている場合でも、ssl_cert
オプションと ssl_key
オプションの両方でそのファイルへのパスを指定する必要があります。
対応する構文を確認するには、Connection String タブまたは Client Optionsタブを選択します。
client = Mongo::Client.new("mongodb[+srv]://<hostname>[:<port>]/?authSource=$external&authMechanism=MONGODB-X509")
client = Mongo::Client.new('<host>', auth_mech: :mongodb_x509, ssl: true, ssl_cert: '/path/to/client.pem', ssl_key: '/path/to/client.pem', ssl_ca_cert: '/path/to/ca.pem')
API ドキュメント
このページで使用されているMongoDB のメソッドとタイプの詳細については、次のAPIドキュメントを参照してください。