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"]
})