db.changeUserPassword()
定義
db.changeUserPassword(username, password)
ユーザーのパスワードを更新します。 ユーザーが定義されているデータベース、つまりユーザーを
created
したデータベースでメソッドを実行します。重要
mongosh メソッド
このページでは、
mongosh
メソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
updateUser
コマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
Parameterタイプ説明username
stringパスワードを変更するユーザーの名前。password
stringユーザーのパスワード。値は次のいずれか:
クリアテキスト文字列のユーザーのパスワード
passwordPrompt()
で、ユーザーのパスワードの入力を求めるpasswordPrompt()
メソッドを様々なユーザー認証管理メソッドやコマンドと組み合わせて使用すると、メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、パスワードの入力を求めるプロンプトが表示されます。ただし、以前のバージョンのmongo
シェルと同様に、パスワードを直接指定することもできます。
writeConcern
ドキュメント任意。 操作の 書込み保証( write concern ) のレベル。 詳しくは、 書込み保証(write concern) の仕様を参照してください。
必要なアクセス権
データベース上の別のユーザーのパスワードを変更するには、そのデータベースの changePassword
アクションが必要です。
動作
警告
デフォルトでは、 を使用している場合でも、db.changeUserPassword()
は指定されたすべてのデータを MongoDBpasswordPrompt()
インスタンスにクリアテキストで送信します。TLS トランスポート暗号化を使用して、 db.changeUserPassword()
によって送信されたパスワードを含む、クライアントとサーバー間の通信を保護します。 TLS トランスポート暗号化を有効にする手順については、「 TLS/SSL 用にmongod
とmongos
を構成する 」を参照してください。
MongoDB では、クリアテキストのパスワードはストアされません。パスワードが脆弱になるのは、クライアントとサーバー間の転送時と、TLS 転送暗号化が有効になっていない場合のみです。
例
次の操作では、products
データベース内の accountUser
という名前のユーザーのパスワードを SOh3TbYhx8ypJPxmt1oOfL
に変更しています。
Tip
passwordPrompt()
メソッドを様々なユーザー認証管理メソッドやコマンドと組み合わせて使用すると、メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、パスワードの入力を求めるプロンプトが表示されます。ただし、以前のバージョンの mongo
シェルと同様に、パスワードを直接指定することもできます。
use products db.changeUserPassword("accountUser", passwordPrompt())
mongosh
でパスワードの入力を求められた場合は、新しいパスワードを入力します。
新しいパスワードをdb.changeUserPassword()
に直接渡すこともできます。
use products db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")