AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

自己管理型配置のユーザー

MongoDB でクライアントを認証するには、対応するユーザーを MongoDB に追加する必要があります。

You can add a user with the db.createUser() method using mongosh. The first user you create must have privileges to create other users. The userAdmin or userAdminAnyDatabase role both confer the privilege to create other users.

ユーザーの作成時に、ユーザーにロールを割り当てることで権限を付与できます。既存のユーザーを更新することで、ロールの付与または取り消し、パスワードの更新も行えます。ユーザーマネジメント方法の全体については、ユーザーマネジメントを参照してください。

ユーザーを追加するデータベースが、その認証データベースになります。

ユーザーの権限は認証データベースに限定されず、複数のデータベースにまたがることができます。ロールの詳細については、「自己管理型配置におけるロールベースのアクセス制御」を参照してください。

ユーザー名と認証データベースは、そのユーザーのユニークな識別子として機能します。MongoDB はユーザーの作成時に、そのユーザーをユニークな userId に関連付けます。ただし、LDAP サーバー上で作成された LDAP マネージド ユーザーには system.users コレクション内に関連付けられたドキュメントがないため、userId フィールドは関連付けられていません。

2 人のユーザーが同じ名前を持ち、異なるデータベースに作成されている場合、彼らは 2 人の別々のユーザーです。複数のデータベースに対する権限を持つ単一のユーザーを作成する場合は、該当するデータベースごとにロールを持つ単一のユーザーを作成します。

MongoDB は、name、password、およびユーザーの authentication database を含むすべてのユーザー情報を、admin データベースの system.users コレクションに保存します。

このコレクションは直接変更しないでください。ユーザーを管理するには、指定されたユーザー マネジメント コマンドを使用します。

シャーディングされたクラスターのユーザーを作成するには、mongos インスタンスに接続してユーザーを追加します。mongos インスタンスで作成されたユーザーとして認証するには、mongos インスタンスを介して認証する必要があります。

シャーディングされたクラスターでは、MongoDB はユーザー構成データをコンフィギュレーションサーバーの admin データベースに保存します。

compact、または rs.reconfig() などの一部のメンテナンス操作では、シャーディングされたクラスター内の特定のシャードへの直接接続が必要です。これらの操作を実行するには、シャードに直接接続し、シャード ローカル管理ユーザーとして認証する必要があります。

シャード ローカル管理ユーザーを作成するには、シャードのプライマリに直接接続してユーザーを作成します。シャード ローカル ユーザー管理者を作成する方法については、チュートリアル「自己管理型シャーディングされたクラスターのキーファイル認証」を参照してください。

MongoDB は、シャード ローカル ユーザーをシャード自体の admin データベースに保存します。これらのシャード ローカル ユーザーは、mongos を通じてシャーディングされたクラスターに追加されたユーザーとは独立しています。シャード ローカル ユーザーはシャードに対してローカルであり、mongos からはアクセスできません。

MongoDB 8.0以降では、 directShardOperationsロールを使用して、シャードに対してコマンドを直接実行する必要があるメンテナンス操作を実行できます。

シャードへの直接接続は、シャード固有の保守と構成にのみ使用する必要があります。一般に、クライアントは mongos を介してシャーディングされたクラスターに接続する必要があります。

警告

directShardOperations ロールを使用して コマンドを実行すると、クラスターが正しく動作しなくなり、データが破損する可能性があります。Only use the directShardOperations ロール for maintenance purposes or under the ガイダンス of MongoDB support.メンテナンス操作の実行が終了したら、directShardOperations ロールの使用を停止します。