MongoDB是目前最流行的NoSQL数据库,愈来愈多的企业纷纭转向MongoDB。在改变企业数据库产品时,一个重要的问题是安全性。那末,MongoDB的安全性如何?本文讨论这个问题。
MongoDB采取三种安全措施:身份验证,授权和审核。
首先,MongoDB支持基于操作系统的身份验证,也支持使用自定义的MongoDB账号系统。使用自定义的MongoDB账号系统时,可以为多个数据库或集合授与访问权限,也能够为特定功能授与访问权限,比如只读权限、写权限和履行权限,等等。
例如,以下代码可以为用户“testuser”配置访问数据库“testDB”的读、写权限:
//创建用户
db.createUser(
{
user: “testuser”,
pwd: “123456”,
roles: [
{ role: “readWrite”, db: “testDB” }
]
}
)
其次,MongoDB还支持网络授权,可以限定连接数据库的IP地址,以限制只有指定的IP地址可以访问数据库。
例如,以下代码可以制止从IP地址10.8.0.0/24范围内的客户端连接到MongoDB:
db.command(
{
createUser: “admin”,
pwd: “123456”,
roles: [
{
role: “userAdminAnyDdatabase”,
db: “admin”
}
],
writeConcern: { w: “majority” },
authenticationRestrictions: [ { clientSource: [ “10.8.0.0/24” ] } ]
}
)
最后,MongoDB还支持审核功能,它支持记录MongoDB访问的所有操作,包括读、写和履行,以便在产生安全事件时进行调查。
例如,以下代码可以启用MongoDB审核功能:
db.adminCommand({ auditAuthorizationSuccess: true })
MongoDB提供了多种安全措施,提高了安全性,让企业通过使用MongoDB可以更好地保护数据安全。
本文来源:https://www.yuntue.com/post/134411.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏