Docs Menu

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) の仕様を参照してください。

このメソッドは、次の環境でホストされている配置で使用できます。

重要

このコマンドは、 MongoDB Atlasクラスターではサポートされていません。 すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

データベース上の別のユーザーのパスワードを変更するには、そのデータベースの changePassword アクションが必要です。

警告

デフォルトでは、 を使用している場合でも、db.changeUserPassword() は指定されたすべてのデータを MongoDBpasswordPrompt() インスタンスにクリアテキストで送信します。TLS トランスポート暗号化を使用して、 db.changeUserPassword()によって送信されたパスワードを含む、クライアントとサーバー間の通信を保護します。 TLS トランスポート暗号化を有効にする手順については、「 TLS/SSL 用にmongodmongosを構成する 」を参照してください。

MongoDB では、クリアテキストのパスワードはストアされません。パスワードが脆弱になるのは、クライアントとサーバー間の転送時と、TLS 転送暗号化が有効になっていない場合のみです。

次の操作では、products データベース内の accountUser という名前のユーザーのパスワードを SOh3TbYhx8ypJPxmt1oOfL に変更しています。

Tip

passwordPrompt() メソッドを様々なユーザー認証管理メソッドやコマンドと組み合わせて使用すると、メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、パスワードの入力を求めるプロンプトが表示されます。ただし、以前のバージョンの mongo シェルと同様に、パスワードを直接指定することもできます。

use products
db.changeUserPassword("accountUser", passwordPrompt())

mongosh でパスワードの入力を求められた場合は、新しいパスワードを入力します。

新しいパスワードをdb.changeUserPassword()に直接渡すこともできます。

use products
db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")