Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

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

項目一覧

  • ユーザー管理
  • LDAP マネージド ユーザー
  • 認証データベース
  • 一元化されたユーザー データ
  • シャーディングされたクラスター ユーザー
  • シャード ローカル ユーザー

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

mongosh を使用して db.createUser() メソッドでユーザーを追加できます。最初に作成するユーザーには、他のユーザーを作成する権限が必要です。userAdmin または userAdminAnyDatabase ロールはどちらも、他のユーザーを作成する権限を付与します。

Tip

以下も参照してください。

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

Tip

以下も参照してください。

ユーザーは、ユーザー名と関連付けられた認証データベースによって一意に識別されます。MongoDB は、ユーザーの作成時に、そのユーザーを一意の userId に関連付けます。

LDAP サーバー上で作成されたLDAP マネージド ユーザーには、system.users コレクション内に関連付けられたドキュメントがないため、userId フィールドは関連付けられていません。

ユーザーを追加すると、特定のデータベースにユーザーが作成されます。ユーザーを作成したデータベースが、そのユーザーの認証データベースになります。

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

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

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

MongoDB で作成されたユーザーの場合、MongoDB は namepassword、およびユーザーの authentication database を含むすべてのユーザー情報を、 admin データベースの system.users コレクションに保存します。

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

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

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

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

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

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

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

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

警告

directShardOperationsロールを使用して コマンドを実行すると、クラスターが正しく動作しなくなり、データが破損する可能性があります。 directShardOperationsロールは、メンテナンス目的で、または MongoDB サポートのガイダンスに必ず従う必要があります。 メンテナンス操作を実行したら、 directShardOperationsロールの使用を停止します。

戻る

Localhost 例外