mongodb 副本集 安全认证。

安全
多数情况下,控制访问和确保副本集成员之间安全连接的最有效方法取决于网络级访问控制。利用环境中的防火墙和网络路由来确保只有来自客户端和副本集其它成员的流量才能到达mongod实例。需要时,应使用虚拟专用网络(VPN)来确保在广域网(WAN)上实现安全连接。

此外,MongoDB 为连接到副本集的mongod和mongos实例提供了身份验证机制。这些实例支持身份验证,但指定共享的密钥文件作为共享密码。

1.8版新特性:针对副本集(1.9.1版针对分片副本集),增加身份验证支持。

要启用副本集的身份验证(使用密钥文件),应向配置文件添加如下选项。

keyfile=/srv/mongodb/keyfile
注意

可以选择在命令行上使用--keyfile(或mongos --keyFile)选项来设置这些运行时配置选项。

设置keyFile以启用身份验证,并指定一个密钥文件供副本集成员使用,确定相互之间何时进行身份验证。密钥文件的内容可以任意规定,但副本集所有成员和连接到副本集的mongos实例的密钥文件必须具有相同的内容。

密钥文件的大小必须小于 1 kB,只能包含 base64 集中的字符,文件不得有 UNIX 系统上的组或“world”权限。使用下面的命令可利用 OpenSSL 包产生“随机”内容以用于密钥文件:

openssl rand -base64 753 
注意

Windows 系统不会检查密钥文件的权限。