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