使用Mongo Shell通过SSL加密连接数据库
更新时间:2023-11-06
在使用Mongo Shell连接数据库时,您可以启用SSL(Secure Sockets Layer)加密功能提高数据链路的安全性。通过SSL加密功能可以在传输层对网络连接进行加密,在提升通信数据安全性的同时,保障数据的完整性。
前提条件
- 三节点的副本集实例或分片集实例。目前单节点实例不支持开通SSL加密。
- 实例已开通SSL加密功能,详情请参见设置SSL加密。
- 为保障鉴权成功,请安装与MongoDB实例版本相对应的Mongo Shell版本。安装步骤请参见官方文档Install MongoDB(请根据您的客户端版本在页面左上角选择版本号)。
- 已将客户端的IP地址加入到MongoDB实例的白名单中,详情请参见设置白名单。
操作步骤
2.在页面左上角,选择实例所在的地域。
3.在左侧导航栏,单击副本集实例列表或分片集群实例列表。
- 找到目标实例,单击实例名称。
- 在左侧导航栏中单击安全管理页面,再单击SSL查看实例SSL状态信息。
- 下载SSL CA证书。
-
将解压后的证书文件上传至安装有Mongo Shell的本地服务器或BCC实例中。
说明:在本示例中,将ca.pem证书文件上传至本地服务器的/root/mongodb_ca_ssl/目录中。
- 在安装有Mongo Shell的本地服务器或BCC实例中,执行以下命令连接MongoDB数据库。
命令格式:
mongo --host <host> -u <username> -p --authenticationDatabase <database> --ssl --sslCAFile <sslCAFile_path> --sslAllowInvalidHostnames
说明:
<host>:Primary节点或Secondary节点的连接地址。
<username>:MongoDB实例的数据库账号,初始账号为root。
<database>:鉴权数据库名,即数据库账号所属的数据库。当数据库账号为root时,对应的数据库为admin。
<sslCAFile_path>:SSL证书文件路径。
示例
mongo --host XQgIft8n4.mongodb.bj.baidubce.com:27017 -u root -p **** --authenticationDatabase admin --ssl --sslCAFile /root/mongodb_ca_ssl/ca.pem --sslAllowInvalidHostnames
将****替换成账号密码即可。
注意:如果连接过程中出现鉴权失败,请确认您的密码是否正确,若密码有特殊字符,则需要做urlencode。