MongoDB 的权限设置其实蛮直接的,搞过数据库的你一看就懂。它默认不开启认证,连上就能操作,听起来爽对吧?但真上线就得小心点,还是得加把锁才安心。嗯,MongoDB 是把用户信息存在admin库的system.users集合里,创建用户、分配权限也都在这搞定,挺清晰的。

权限开启那一套操作也不复杂。先启动服务,再用mongo连进去,切到admin,创建个管理员用户,比如叫myUserAdmin,配个userAdminAnyDatabase的权限,管整个数据库用户都没问题。创建完了,记得加上--auth参数重启服务,开启认证,不然白忙活了。

就是加普通用户。比如你有两个库testreporting,想让测试人员能读写这两个库,那就用管理员账号登录,用db.createUser()搞定。用户名myTester,密码随便起,权限配上readWrite就好了。权限搞定后,你还可以用db.auth()来验证一下能不能正常登录和插入数据。

MongoDB 的角色挺细的,像readreadWriteuserAdminAnyDatabase这些,配合起来可以做到挺细的访问控制。你要是做中大型项目,建议权限分清楚点,别图省事开全权,后面出了问题就麻烦了。

对了,官方文档是一定要看的,不过要是想更直观点,你也可以看看这个MongoDB 用户权限设置的资源,讲得还挺清楚的。如果你平时还用HiveMySQL,下面的相关文章也可以一起看看,设置方法有点像。

如果你正准备部署 MongoDB 上线,建议现在就把权限这一块搞好。一步一步来,其实不难。权限配置对了,不仅安全,管理起来也省心。