createUser (ユーザーの作成)

最終更新:2026-10-09

createUser (ユーザーの作成)

createUser はロール付きのデータベースユーザーを作成します。mongosh では db.createUser({ user, pwd, roles }) を使います。ロールは組み込み(read、readWrite、dbAdmin、root など)またはカスタムで、{ role, db } オブジェクトでデータベースをまたいでスコープできます。ユーザーはコマンドを実行したデータベースに所属します。認証は authorization が有効なときのみ効力を持ちます。

カテゴリユーザー認証
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

db.createUser({
  user: "<username>",
  pwd: "<password>",
  roles: [ { role: "readWrite", db: "shop" } ]
})

⚙️ パラメータ

userユーザー名。
pwdパスワード。passwordDigestor でハッシュ方式を制御できます。
roles{ role, db } オブジェクトまたは文字列としてのロール一覧。

戻り値:成功時は { ok: 1 } を返します

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// createUser: 読み取り専用ユーザーの作成
use admin
db.createUser({
  user: 'reader',
  pwd: 'secret123',
  roles: [ { role: 'read', db: 'shop' } ]
})

出力:

{ ok: 1 }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

QcreateUser はどのデータベースで実行すべきですか?
Aユーザーが所属するデータベース(通常は admin か業務データベース)で実行します。クロス DB ロールは { role, db } でスコープします。
Qユーザーを作ったのに接続が認証をスキップします?
AMongoDB は authorization が有効なときのみ資格情報を確認します。無効なら誰でも接続できます。
Q組み込みロールには何がありますか?
Aread、readWrite、dbAdmin、dbOwner、userAdmin、root などがあります。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%