MongoDB创建普通用户

use products
db.createUser(
   {
     user: "accountUser",
     pwd: "password",
     roles: [ "readWrite", "dbAdmin" ]
   }
)

创建访问多个库的用户,又不需要readAnyDatabase,可以

use reporting
db.createUser(
  {
    user: "reportsUser",
    pwd: "12345678",
    roles: [
       { role: "read", db: "reporting" },
       { role: "read", db: "products" },
       { role: "read", db: "sales" },
       { role: "readWrite", db: "accounts" }
    ]
  }
)

关于MongoDB 分片集群用户

  • MongoDB分片集群用户有两种,一种是Sharded Cluster Users,集群用户,一个是Shard Local Users 分片自己的用户。
  • 集群用户通过mongos创建,用户信息存储在config servers上,admin库,用户完成集群的各种操作。
  • 单个分片用户通过各分片主节点创建,用户信息存储在各片上的admin库里,用于做一些单个分片的维护操作。
  • 这是两种完全独立的用户。客户端应该通过集群用户,mongos去连接集群。

更多:https://docs.mongodb.com/manual/core/security-users/


ccj 于 1 个月前 修改
0 回复
需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。