zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MongoDB的安全校验详解数据库

MongoDB数据库安全 详解 校验
2023-06-13 09:20:08 时间

一、MongoDB安全校验的重要性

每个MongoDB实例中的数据库都可以有许多用户。如果没有开启安全校验,限制用户权限,则每个进到数据库的用户都能任意的对数据库数据进行读,写甚至是读写操作。这样的场景在实际的应用中是非常危险的,容易导致数据丢失,误删等事故,所以数据库服务开启安全校验,十分有必要。

二、MongoDB如何开启安全校验

一旦MongoDB开启了安全检查,则必须是数据库认证用户才有权力对数据进行读,写或读写操作。在进行安全检查之前,一定要至少有一个管理员账号,这是为什么呢?因为只有管理员可以读写任何的数据库,执行特定的管理命令,如为某个数据库添加特定用户,限制读写权限等。

如下图,为admin数据库添加了超级管理员root,密码为1234,方便在数据库开启安全检查后,使用该用户登录后能够进行数据库的管理,添加用户的语法为

db.addUser( 用户名 , 密码 ,是否只读true|false)

然后为kaiye数据库添加了两个用户,语法分别为

db.addUser( haha , 123 ):haha用户对kaiye数据库具有读写权限

db.addUser( hehe , 123 ,true):hehe用户对kaiye数据库只有读权限

重启服务端,并在开启服务端命令后面添加 auth,就启动了MongoDB的安全校验了。

mongod dbpath=C://mymongodb port 27017 auth

MongoDB的安全校验详解数据库

在服务端开启安全校验后,分别登录haha和hehe用户,进行数据的读写操作,在show collections时,会报无权限的异常。

MongoDB的安全校验详解数据库

此时需要使用数据库的用户进行认证登录,语法:db.auth( 用户名 , 密码 ),登录刚才添加的hehe用户(添加了只读权限)后,发现只能对数据进行检索查询,却不能进行数据的插入操作,这是因为刚才在为kaiye数据库添加hehe用户时,将addUser()函数的第三个值设置成了true,也就是该用户只有只读权限,所以无法进行写操作。

MongoDB的安全校验详解数据库

切换用户,即登录同时具有读写权限的haha用户,会发现既能进行find操作,也能进行insert操作。

MongoDB的安全校验详解数据库

MongoDB的安全校验详解数据库

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3766.html

MongoDB