翻译或纠错本页面
- 安全 >
- Security Tutorials >
- Access Control Tutorials >
- 在集群中开启权限认证
在集群中开启权限认证¶
2.0 新版功能: 在集群中支持使用权限认证.
概述¶
当集群中开启了权限认证时,任何访问集群的终端都必须提供凭证,集群中MongoDB的相互访问也需要凭证.
要在集群中开启权限认证,需要在每个组件上逐一开启,包括每个 mongos ,每个 mongod 和每个配置服务器,以及复制集中每个成员.
权限认证需要一个身份认证的机制,大多数情况下使用 key file 完成.在一个集群中,这个文件的内容必须是相同的.
过程¶
1
生成一个key文件:¶
生成服务器之间进行权限认证时的key文件.
使用以下的 openssl 命令生成用于 keyfile 的伪随机数据:
openssl rand -base64 741 > mongodb-keyfile
chmod 600 mongodb-keyfile
你可以用任何方式生成key文件,要保证文件中存储的密码有足够的长度,并且有足够的无序程度.可以使用 openssl 的方式生成一个这样的key文件.
2
在集群的每个组件上开启权限认证.¶
在集群中每个 mongos ,每个 mongod,包括所有配置服务器和所有分片上使用以下几种方法指定key文件:
在运行时指定key文件.¶
在启动组件时,设置 --keyFile 选项为key文件的路径.设置 keyFile 会自动设置 authorization ,因此在大多数情况下不需要单独设置 authorization .
3
添加用户¶
连接到 mongos 后,首先添加管理员用户,再添加以后的用户,参见 Create a User Administrator 获得更多信息.