db.auth()
定義
db.auth()
ユーザーが shell 内からデータベースに認証できるようにします。
Tip
passwordPrompt()
メソッドをさまざまなユーザー認証管理メソッドやコマンドと組み合わせて使用すると、メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、パスワードの入力を求めるプロンプトが表示されます。ただし、mongo
シェルの以前のバージョンと同様にパスワードを直接指定できます。db.auth(<username>, <password>)
構文を使用してパスワードを省略すると、ユーザーはパスワードの入力を求められます。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
db.auth()
の構文形式は次のとおりです。
db.auth(<username>, <password>)
次のいずれかを実行できます。
ユーザーにパスワードの入力を求めるには、パスワードを省略します。
db.auth( <username> ) ユーザーにパスワードの入力を求めるには、
passwordPrompt()
を使用します。db.auth( <username>, passwordPrompt() ) クリアテキストのパスワードを指定します。
db.auth( <username>, <password> )
db.auth(<user document>)
db.auth( { user: <username>, pwd: passwordPrompt(), // Or "<cleartext password>" mechanism: <authentication mechanism>, digestPassword: <boolean> } )
Parameter | タイプ | 説明 |
---|---|---|
user | string | このデータベースに対するアクセス特権を持つユーザーの名前。 |
pwd | string | ユーザーのパスワード。値は次のいずれか:
|
mechanism | string | 任意。使用する 利用可能なメカニズムについては、「 指定されていない場合は、 |
digestPassword | ブール値 | 任意。指定されたパスワードを、指定された認証メカニズムで使用する前に事前にハッシュ化するかどうかを決定します。
デフォルト値は |
- 戻り値
db.auth()
は、認証が成功しなかった場合は0
を返し、操作が成功した場合は1
を返します。
動作
クライアントの切断
MongoDB 4.2以降では、 db.auth()
を発行したクライアントが操作の完了前に切断した場合、MongoDB は killOp
を使用してdb.auth()
を終了対象としてマークし 。
例
Tip
passwordPrompt()
メソッドを様々なユーザー認証管理メソッドやコマンドと組み合わせて使用すると、メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、パスワードの入力を求めるプロンプトが表示されます。ただし、以前のバージョンの mongo
シェルと同様に、パスワードを直接指定することもできます。
db.auth(<username>, <password>)
構文を使用してパスワードを省略すると、ユーザーはパスワードの入力を求められます。
Shell への接続後の認証
mongosh
を接続後に認証するには、ユーザーの認証データベース内に db.auth()
を発行します。
use test db.auth( "myTestDBUser", passwordPrompt() )
password
値を完全に省略すると、ユーザーにパスワードの入力を求めることができます。
use test db.auth( "myTestDBUser" )
MongoDB 5.0以降、接続で--apiStrict
オプションが指定されている場合は、 db.auth()
メソッドを使用して次の操作を実行できません。
同じデータベースで同じユーザーとして再度認証します。
以前に同じデータベースで認証されていた場合は、別のユーザーとして認証します。
以前に別のデータベースで認証されていた場合は、新しいデータベースで認証します。
Shell への接続時の認証
あるいは、 mongosh
のコマンドライン オプション--username
、 --password
、 --authenticationDatabase
、 --authenticationMechanism
を使用して、 mongosh
を接続するときに認証情報を指定することもできます。
mongosh --username "myTestDBUser" --password --authenticationDatabase test --authenticationMechanism SCRAM-SHA-256