x.509
Overview
X.509 認証メカニズムでは、サーバーとクライアントは TLS プロトコルを使用して X.509 公開鍵証明書を交換します。このメカニズムを使用して、 MongoDB Atlas、 MongoDB Enterprise Advanced、 MongoDB Community Edition を認証できます。
Tip
X.509 メカニズム
PyMongoで TLS/SSL を使用する方法については、 TLS/SSL を参照してください。
X.509 証明書の詳細については、 MongoDB Serverマニュアルの X.509 を参照してください。
コード プレースホルダー
このページのコード例では、次のプレースホルダーを使用します。
+srv
: MongoDB Atlasクラスターに接続している場合にのみ、このオプションを接続文字列のプレフィックスに含めます。+srv
オプションの詳細については、 MongoDB Serverマニュアルの「 接続文字列の形式 」を参照してください。<hostname>
: MongoDBデプロイのネットワーク アドレス。<port>
: MongoDBデプロイのポート番号。 このパラメーターを省略すると、ドライバーはデフォルトのポート番号(27017
)を使用します。 MongoDB Atlasクラスターに接続する場合、ポート番号は必要ありません。<path to X.509 certificate>
: X.509 証明書ファイルへのパス。<X.509 certificate password>
: X.509 証明書のパスワード。
このページのコード例を使用するには、これらのプレースホルダーを独自の値に置き換えます。
重要
パーセント エンコーディング
パーセント エンコードする 必要があります MongoDB URI に含める前に、ユーザー名とパスワードを入力します。quote_plus()
urllib.parse で利用可能な メソッド モジュールも、このタスクを実行する方法の 1 つです。たとえば、 quote_plus("and / or")
を呼び出すと string and+%2F+or
が返されます。
ユーザー名またはパスワードをMongoClient
に引数として渡す場合は、これらをパーセント エンコードしないでください。
アプリケーションでの X.509 認証の使用
これらのオプションは、MongoClient
コンストラクターに引数を渡す方法と、 接続stringのパラメーターを使用する方法の 2 通りがあります。
client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>", tls=True, tlsCertificateKeyFile="<path to X.509 certificate>", tlsCertificateKeyFilePassword="<X.509 certificate password>", authMechanism="MONGODB-X509")
uri = ("mongodb[+srv]://<hostname>:<port>/?" "tls=true" "&tlsCertificateKeyFile=<path to X.509 certificate>" "&tlsCertificateKeyFilePassword=<X.509 certificate password>" "&authMechanism=MONGODB-X509") client = pymongo.MongoClient(uri)
client = pymongo.AsyncMongoClient("mongodb[+srv]://<hostname>:<port>", tls=True, tlsCertificateKeyFile="<path to X.509 certificate>", tlsCertificateKeyFilePassword="<X.509 certificate password>", authMechanism="MONGODB-X509")
uri = ("mongodb[+srv]://<hostname>:<port>/?" "tls=true" "&tlsCertificateKeyFile=<path to X.509 certificate>" "&tlsCertificateKeyFilePassword=<X.509 certificate password>" "&authMechanism=MONGODB-X509") client = pymongo.AsyncMongoClient(uri)
API ドキュメント
PyMongo でアプリケーションを認証するの詳細については、次の API ドキュメントを参照してください。