获取服务器证书,为自管理的 MongoDB 副本集部署启用 TLS 加密。
重要
这些步骤应用于自管理 MongoDB 部署。MongoDB Atlas 集群默认使用 TLS。如果您使用 Cloud Manager 或 MongoDB Ops Manager,通过部署管理工具配置 TLS。
开始之前
在开始之前,请确保您具有以下信息和资源:
您有一个自管理的 MongoDB 副本集部署,并希望使用 TLS 对其进行保护。
您的部署中至少启用了一个管理员用户,以在后续教程中验证 TLS 连接。如果要启用 X.509 客户端身份验证,则管理员用户必须至少具有
userAdmin角色,才能在$external数据库中创建和修改用户。您的部署中的每个节点都有一个主机名,例如
mongo0.example.com、mongo1.example.com和mongo2.example.com。如果您使用的是公共 CA,则必须拥有与这些主机名对应的注册域名。您的计算机上安装了 OpenSSL。
如果您计划使用公共 CA(例如 Let's Encrypt 或 DigiCert),您就知道您正在使用哪个公共 CA。如果您打算使用私有 CA,您可以访问您组织的 PKI 信息。获取证书的过程可能会因您使用的 CA 而有所不同。但是,您必须以本教程的 最终结果 部分中描述的相同
.pem文件结尾。您已打开了首选的命令行界面。
您了解您的部署 TLS 配置要求,以及您的证书是否需要
clientAuthEKU,具体参考 TLS 规划页面。
步骤
本教程为部署中的第一个节点创建一个名为 mongo0.pem 的证书。为其他节点生成证书时,请在文件名中指定。示例,将第一个从节点(secondary node from replica set)的证书命名为 mongo1.pem。
最终结果
在本教程结束时,/etc/ssl/mongodb 中有以下 .pem 个文件:
对于每个节点,都有一个包含该节点证书和私钥的
.pem文件,例如mongo0.pem、mongo1.pem和mongo2.pem。对于整个部署,您拥有为每个节点颁发证书的中间 CA 证书,例如
ca.pem。
后续步骤
要了解如何为自管理的 MongoDB 部署配置 TLS,请继续阅读下一个教程:为自管理的部署配置 TLS。