db.changeUserPassword()
定義
db.changeUserPassword(username, password)
ユーザーのパスワードを更新します。 ユーザーが定義されているデータベース、つまりユーザーを
created
したデータベースでメソッドを実行します。Parameterタイプ説明username
stringパスワードを変更するユーザーの名前。password
stringユーザーのパスワード。値は次のいずれか:
クリアテキスト文字列のユーザーのパスワード
passwordPrompt()
で、ユーザーのパスワードの入力を求める
Tip
メソッドやコマンドの呼び出しでパスワードを直接指定する代わりに、
passwordPrompt()
メソッドをさまざまなユーザー認証や管理のメソッドやコマンドと組み合わせて使用すると、パスワードの入力を求めることができます。 ただし、mongo
shell の以前のバージョンと同様にパスワードを直接指定することもできます。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")