rmdir.cn

db.createUser()

创建数据库用户

语法

db.createUser({ user, pwd, roles, ... })

说明

在当前数据库创建用户,并授予角色权限。MongoDB 的认证和授权是基于数据库的。内置角色包括 read、readWrite、dbAdmin、userAdmin、clusterAdmin、root 等。

参数

  • user必填

    用户名

  • pwd必填

    密码(passwordPrompt() 可交互式输入)

  • roles必填

    角色数组,如 [ { role: "readWrite", db: "mydb" } ]

  • authenticationRestrictions

    客户端 IP / 源限制

  • mechanisms

    认证机制: SCRAM-SHA-1 / SCRAM-SHA-256

示例

创建只读用户

创建一个对 mydb 有只读权限的用户

db.createUser({ user: "readonly_user", pwd: "SecurePass123!", roles: [{ role: "read", db: "mydb" }] })

创建读写用户

应用账户常用配置

db.createUser({ user: "app_user", pwd: passwordPrompt(), roles: [{ role: "readWrite", db: "mydb" }] })

创建管理员

创建拥有全部权限的 root 用户

db.createUser({ user: "admin", pwd: "UltraSecure!", roles: ["root"] })