Docs Menu
Docs Home
/ / /
Pymongo ドライバー
/ /

LDAP (PLAIN SASL)

PLAIN認証メカニズムを使用すると、LDAP(Lightweight Directory Access Protocol)ユーザー名とパスワードを使用してMongoDB.LDAP認証では、RFC-4616 で定義されている PLAIN 簡易認証とセキュリティ レイヤー(SASL)が使用されます。

このメカニズムは、 MongoDB AtlasまたはMongoDB Enterprise Advancedに認証する場合にしか使用できません。

重要

PLAIN SASL は、クリアテキストの認証メカニズムです。 PLAIN SASL を使用して MongoDB に認証する場合は、証明書検証で TLS/SSL を使用することを強くお勧めします。

接続で TLS を有効にする方法の詳細については、 「 トランスポート層セキュリティ(TLS)の設定 」を参照してください。

このページのコード例では、次のプレースホルダーを使用します。

  • +srv: MongoDB Atlasクラスターに接続している場合にのみ、このオプションを接続文字列のプレフィックスに含めます。 +srvオプションの詳細については、 MongoDB Serverマニュアルの「 接続文字列の形式 」を参照してください。

  • <username>: LDAPユーザー名。

  • <password>: LDAP パスワード。

  • <hostname>: MongoDBデプロイのネットワーク アドレス。

  • <port>: MongoDBデプロイのポート番号。 このパラメーターを省略すると、ドライバーはデフォルトのポート番号(27017)を使用します。 MongoDB Atlasクラスターに接続するときにポートを指定する必要はありません。

  • <authenticationDb>: ユーザーの LDAP 認証情報を含むMongoDBデータベース 。 このパラメーターを省略すると、ドライバーはデフォルトのデータベース(admin)を使用します。

このページのコード例を使用するには、これらのプレースホルダーを独自の値に置き換えます。

重要

パーセント エンコーディング

ユーザー名とパスワードは、 MongoDB URI に含める前に、パーセント エンコードする必要があります。urllib.parse モジュールで使用可能な quote_plus() メソッドは、このタスクを実行する 1 つの方法です 。例、quote_plus("and / or") を呼び出すと string and+%2F+or が返されます。

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

PLAIN を使用して認証するには、authMechanism 接続オプションを PLAIN に設定します。 このオプションは、MongoClient コンストラクターに引数を渡す方法と、接続文字列のパラメーターを使用する方法の 2 通りがあります。

注意

authMechanismProperties値にカンマが含まれている場合は、認証オプションを設定するためにMongoClientコンストラクタを使用する必要があります。

client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>",
username="<username>",
password="<password>",
authSource="<authenticationDb>",
authMechanism="PLAIN",
tls=True)
uri = ("mongodb[+srv]://<username>:<password>@<hostname>:<port>/?"
"authSource=<authenticationDb>"
"&authMechanism=PLAIN"
"&tls=true")
client = pymongo.MongoClient(uri)

PyMongoで PLAIN SASL認証メカニズムを使用する方法の詳細については、次のAPIドキュメントを参照してください。

戻る

OIDC

項目一覧