AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

エンタープライズ認証メカニズム

MongoDB Enterprise Edition には、MongoDB Community Edition では使用できない認証メカニズムが含まれています。 このガイドでは、これらの認証メカニズムを使用して MongoDB を認証する方法を学習できます。 MongoDB で利用可能なその他の認証メカニズムの詳細については、「認証メカニズム 」を参照してください。

ジェネリック セキュリティ サービスAPI (GSSAPI) は、 Kerberos認証のインターフェースを提供します。

注意

GSSAPI で認証するには、SASL をサポートするMongoDB Cドライバーをビルドする必要があります。 ソースからドライバーをビルドしている場合は、 ENABLE_SASL cmakeオプションを使用して SASL サポートを有効にできます。

GSSAPI で認証するには、次の手順を実行します。

1

Unix 環境では、まずkinitコマンドを実行して初期チケット付与チケットを取得してキャッシュする必要があります。 Windows環境を実行中している場合は、次の手順にスキップできます。

次の例では、 kinitコマンドを使用して、プリンシパルmongodbuser@EXAMPLE.COMのチケット発行チケットを取得します。 次に、 klistコマンドを使用して、 認証情報キャッシュにプリンシパルとチケットを表示します。

$ kinit mongodbuser@EXAMPLE.COM
mongodbuser@EXAMPLE.COM's Password:
$ klist
Credentials cache: FILE:/tmp/krb5cc_1000
Principal: mongodbuser@EXAMPLE.COM
Issued Expires Principal
Feb 9 13:48:51 2013 Feb 9 23:48:51 2013 krbtgt/mongodbuser@EXAMPLE.COM
2

次に、次の接続オプションを設定します。

  • Kerberos principal: 認証する Kerberos プリンシパル。

  • authMechanism: "GSSAPI"に設定します。

  • authMechanismProperties: 任意。 デフォルトでは、MongoDB では認証サービス名としてmongodbが使用されます。 別のサービス名を指定するには、このオプションを"SERVICE_NAME:<authentication service name>"に設定します。

これらのオプションは、次の例に示すように、接続 URI のパラメーターを介して設定できます。

auto uri = mongocxx::uri("mongodb://<Kerberos principal>@<hostname>:<port>/?"
"authMechanism=GSSAPI"
"&authMechanismProperties=SERVICE_NAME:<authentication service name>");
auto client = mongocxx::client(uri);

注意

前述の例に示すように、プリンシパル内の@シンボルを%40に置き換える必要があります。

RFC 4616 で定義されている PLAIN 簡易認証とセキュリティ レイヤー(SASL) は、 TLS または別の暗号化レイヤーでよく使用されるユーザー名パスワード認証メカニズムです。

重要

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

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

SASL で認証するには、 authMechanism接続オプションをPLAINに設定します。 このオプションは、次の例に示すように、 接続stringのパラメーターを介して設定できます。

auto uri = mongocxx::uri("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"authMechanism=PLAIN&tls=true");
auto client = mongocxx::client(uri);

C++ドライバーでmongocxx::clientオブジェクトを作成する方法の詳細については、次のAPIドキュメントを参照してください。