Overview
MONGODB-X509認証メカニズムでは、X.509 証明書とともにトランスポート レベル セキュリティ(TLS)を使用して、クライアント証明書の相対的識別名(RDN)によって識別されるユーザーを認証します。
X.509 を使用して、 MongoDB Atlas、 MongoDB Enterprise Advanced、 MongoDB Community Edition を認証できます。
Tip
X.509 証明書の詳細については、 MongoDB Serverマニュアルの x.509 を参照してください。
コード プレースホルダー
このページのコード例では、次のプレースホルダーを使用します。
path to CA certificate: CA ファイルのファイルパスpath to private client key: 証明書鍵ファイルのファイルパスpassword for client key:クライアントキーの復号に使用されるパスワードdb: ユーザーに関連付けられた認証データベース
セットアップ
この認証メカニズムを指定する場合は、次のファイルを提供する必要があります。
TLS 接続を行う際に信頼する 1 つ以上の証明書機関を含む 認証局(CA)ファイル。サーバーに接続する前に、ドライバーはこのファイルを使用して、サーバーの証明書が指定された証明機関のいずれかであることを確認します。
クライアント証明書と秘密キーを含む 証明書鍵ファイル。ドライバーはこのファイルをサーバーに提示して、クライアントを確認します。
例
MONGODB-X509認証メカニズムを指定するには、Credential 構造体の mechanismフィールドをAuthMechanism::MongoDbX509 に設定します。
次のコードは、 接続stringで証明書を参照し、MONGODB-X509 認証メカニズムを指定して、 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)?;
Tip
接続で TLS を有効にする方法の詳細については、TLS の有効化と構成 のガイドをご覧ください。
詳細情報
MongoDB への認証の詳細については、サーバー マニュアルの認証を参照してください。
MongoDB 配置のユーザー管理の詳細については、サーバー マニュアルの「ユーザー」を参照してください。
API ドキュメント
このガイドで言及されているメソッドとタイプの詳細については、次のAPIドキュメントを参照してください。