Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Pymongo ドライバー
/ /

x.509

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") stringand+%2F+or が返されます。

ユーザー名またはパスワードをMongoClientに引数として渡す場合は、これらをパーセント エンコードしないでください。

これらのオプションは、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)

PyMongo でアプリケーションを認証するの詳細については、次の API ドキュメントを参照してください。

戻る

SCRAM

項目一覧