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