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")を呼び出すと string and+%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)
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)

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

戻る

SCRAM

項目一覧

  • Overview
  • コード プレースホルダー
  • アプリケーションでの X.509 認証の使用
  • API ドキュメント