访问控制安全是什么
mongodb为每个数据库提供了授权和认证。Mongodb认证,授权用户,是在数据库级别上,Mongodb把用户的凭据放在system.users collection中,认证默认是关闭的,可以通过auth,keyFile配置选项设置。对于Mongodb企业版可以使用kerberos来认证。
在一个数据库上,你只能认证一个用户,如果认证了第二个,第一个就会被放弃。
Mongodb规定授权是以role为基础的。每个授权的用户都保存在system.users中,要给用户分配角色,必须要有一个管理角色的用户在数据库中,如果没有就必须创建一个。
默认的,MongoDB会认为所运行的环境是安全的,没有进行数据库的安全性和身份验证。在这样的配置环境下,唯一要确保的是只有信任的机器才能连接到MongoDB端口。如果使用数据库专用服务器,最简单的方法是让它完全的无法从外部访问,将MongDB服务绑定--bind_ip到指定ip上。更进一步的可以在指定一个端口--port。
如果在一个不信任的环境中使用MongoDB就涉及到如何让MongoDB运行在安全模式上。MongoDB通过--auth和--keyfile参数的使用来启动安全模式用以支持身份验证和简单的粗粒度访问控制。