副本集架构中需要开启用户的授权认证,也要配置副本集内部、成员身份验证。
副本集对于成员的内部身份验证,MongoDB可以使用keyfiles或x.509证书。使用keyfile身份验证,副本集中的每个mongod实例都将keyfile的内容用作对部署中其他成员进行身份验证的共享秘钥。只有具有正确密钥文件的mongod实例才能加入副本集。
所选方法用于所有内部通信。例如,当客户端使用支持的身份验证机制之一向mongos进行身份验证时,mongos然后使用配置的内部身份验证方法连接到所需的mongod进程。
我们需要创建管理员用户 创建秘钥文件(集群成员之间认证使用) 开启认证,创建账号(客户端连接mongodb集群使用) 重启服务
'副本集详细配置'
创建秘钥文件
openssl rand-base64 756 > keyfile
chmod 400 keyfile
[root@VM_6_17_centos ~]# cp keyfile /data/mdb1/conf/
[root@VM_6_17_centos ~]# cp keyfile /data/mdb2/conf/
[root@VM_6_17_centos ~]# cp keyfile /data/mdb3/conf/
开启认证:
现在我们在连接PRIMARY节点
总结:我们在线上部署时副本集使用域名进行配置,可以避免由于ip地址更改而导致的配置更改,
尽量使用复杂的密码,服务器的数据端口使用防火墙进行限制,外网全部禁用,
内部可以允许某个ip或者网段访问,并且开启客户端认证授权。
下一章我们了解认证授权的详细内容。