db.auth()
定義
db.auth()
ユーザーが shell 内からデータベースに認証できるようにします。
Tip
メソッドやコマンド呼び出しでパスワードを直接指定する代わりに、
passwordPrompt()
メソッドをさまざまなユーザー認証や管理のメソッドやコマンドと組み合わせて使用すると、パスワードの入力を求めることができます。 ただし、mongo
shell の以前のバージョンと同様にパスワードを直接指定できます。db.auth(<username>, <password>)
構文を使用してパスワードを省略すると、ユーザーはパスワードの入力を求められます。
構文
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 | ユーザーのパスワード。値は次のいずれか:
Tipメソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、 ユーザー ドキュメントの構文を使用する場合、 |
mechanism | string | 任意。使用する 利用可能なメカニズムについては、「 指定されていない場合は、 |
digestPassword | ブール値 | 任意。指定されたパスワードを、指定された認証メカニズムで使用する前に事前にハッシュ化するかどうかを決定します。
デフォルト値は |
- 戻り値
db.auth()
は、認証が成功しなかった場合は0
を返し、操作が成功した場合は1
を返します。
動作
クライアントの切断
MongoDB 4.2以降では、 db.auth()
を発行したクライアントが操作の完了前に切断した場合、MongoDB は killOp
を使用してdb.auth()
を終了対象としてマークし 。
例
Tip
メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、 passwordPrompt()
メソッドをさまざまなユーザー認証や管理のメソッドやコマンドと組み合わせて使用すると、パスワードの入力を求めることができます。 ただし、 mongo
shell の以前のバージョンと同様にパスワードを直接指定することもできます。
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