安全与认证
mongodb提供了对不同用户操作权限的管理。mongod启动时使用–auth或者配置文件添加
security:
authorization: enabled
创建用户
use admin
db.createUser({user:"root",pwd:"123456",roles:[{role:"userAdminAnyDatabase", db:"admin"}]})
db.auth('root','123456')// 认证用户
用户验证
账号是根据数据库走的,在对应的库里创建就要在相应的库里进行验证
如果进行多次验证,在执行命令时会报错
用户认证时,服务器将认证和链接绑定来跟踪认证。也就是说如果驱动程序或是工具使用了连接池或是因故障切换到另一个节点,所有认证用户必须对每个新连接重新认证,有的驱动能将这一步透明化,要是没有,需要手动完成。
创建角色
mongodb提供了默认角色给我们使用比如: readWrite,readWriteAnyDatabase,root等
除此之外我们也可以自定角色
集群认证
1.使用X.509,基于证书的认证模式
2.Keyfile,将统一的Keyfile文件拷贝到不同的节点
security:
keyFile: Keyfile.txt
没有使用相同Keyfile的节点将无法加入集群