mongotranslate
MongoDB工具 >MongoDB BI连接器 >参考 > 为BI连接器配置SSL
在本页面
为了使BI Connector安全地传输数据,您应该在MongoDB实例,mongosqld
实例以及BI工具中启用安全套接字层(SSL)加密
。SSL配置的完整描述不在本文讨论范围之内,但是本教程概述了创建自己的SSL证书以进行测试以及在启用SSL的情况下启动MongoDB组件的过程。
重要
本教程中描述的过程仅用于测试目的。生产环境应使用由公认的证书颁发机构(CA)颁发的SSL证书。
本教程包含有关创建多个文件的说明,这些文件允许mongosqld
进程接受来自SQL客户端(例如MySQL Shell)的OpenSSL加密连接,并与mongod
实例进行加密连接。我们创建两个.pem文件,每个文件都包含一个加密密钥和一个自签名SSL证书。
使用Windows cmd
Shell创建一个目录来保存您的证书。本教程使用C:\opt\certs
。
本教程假定您的OpenSSL目录位于C:\OpenSSL
。如果它位于系统上的其他位置,请适当地编辑命令或将目录移动到
C:\OpenSSL
。
如果您的C:\OpenSSL\bin
目录不包含名为的配置文件openssl.cfg
,请创建一个。此处提供了示例配置文件:
设置环境变量以备后用。
将目录更改为C:\opt\certs
。
启动OpenSSL应用程序。
以下命令生成私钥并将其输出到
mdbprivate.key
。
以下命令生成证书颁发机构文件并将其输出到mdbca.crt
。
以下命令提示用户输入合并到证书请求中的几条信息。这些字段之一称为,它是完全合格的域名(FQDN)。该用于在教程的本步骤中生成的证书条目必须是来自不同对在步骤3和9生成的证书的条目。Common Name
Common Name
Common Name
现在,我们有两个文件:mdbca.crt
证书颁发机构文件和mdbprivate.key
用于签署该请求的密钥。
在OpenSSL提示符下输入以下命令:
一个.pem
文件由一个键,连接在一起证书。要创建.pem
供MongoDB实例使用的文件,请退出OpenSSL提示符,然后cmd
在C:\opt\certs
目录中的提示符处输入以下命令
:
现在,您的证书目录中应该包含以下文件:
如果缺少任何内容,请返回并查看前面的步骤,检查是否有错误。
mongod
配置文件¶要配置mongod
为要求SSL进行传入连接,请按如下所示修改配置文件。您的值可能会有所不同,具体取决于您创建SSL文件的位置。
选项 | 值 |
---|---|
网络模式 | requireSSL |
net.ssl.PEMKeyFile | C:\opt\certs\mdb.pem |
net.ssl.CAFile | C:\opt\certs\mdbca.crt |
net.ssl.clusterFile | C:\opt\certs\mdb.pem |
security.clusterAuthmode | x509 |
以下示例配置文件包含SSL连接和x.509 身份验证的指令。
注意
以下是示例mongod
配置文件。您的配置文件可能需要其他或不同的选项。
如果您希望以mongod
命令行选项而不是配置文件开头,请参见mongosqld
参考资料。
mongod
服务器。¶mongo
外壳的连接。¶使用mongo
外壳连接到服务器以测试SSL连接。您的mongo
命令需要以下SSL选项:
选项 | 值 |
---|---|
–ssl | 没有 |
–sslCAFile | C:\opt\certs\mdbca.crt (在步骤2.4中生成的文件) |
–sslPEMKeyFile | C:\opt\certs\mdb.pem (在步骤5中生成的文件) |
适当地编辑您的选项。
在OpenSSL提示符下输入以下命令:
退出OpenSSL应用程序,并在cmd
提示符下输入以下命令
:
mongosqld
¶您的mongosqld
配置文件需要几个特定于SSL的选项。您的值可能会有所不同,具体取决于您创建SSL文件的位置。
选项 | 值 |
---|---|
mongodb.net.ssl.enabled |
true |
mongodb.net.ssl.PEMKeyFile |
C:\opt\certs\mdb.pem |
mongodb.net.sslCAFile |
C:\opt\certs\mdbca.crt |
net.ssl.mode |
requireSSL |
net.ssl.PEMKeyFile |
C:\opt\certs\bi.pem |
net.ssl.CAFile |
C:\opt\certs\mdbca.crt |
以下示例配置文件使用目录中的
C:\opt\certs
文件。它指定一个用户名和密码,该用户名和密码与具有足够的权限运行mongosqld
和读取test
数据库的MongoDB用户相对应。
以下命令生成私钥并将其输出到
mdbprivate.key
。
以下命令生成证书颁发机构文件并将其输出到mdbca.crt
。
以下命令提示用户输入合并到证书请求中的几条信息。这些字段之一称为,它是完全合格的域名(FQDN)。该用于在教程的本步骤中生成的证书条目必须是来自不同对在步骤3和9生成的证书的条目。Common Name
Common Name
Common Name
现在,我们有两个文件:mdbca.crt
证书颁发机构文件和mdbprivate.key
用于签署该请求的密钥。
一个.pem
文件由一个键,连接在一起证书。要创建.pem
供MongoDB实例使用的文件,请在/opt/certs/
目录中输入以下命令:
现在,您的证书目录中应该包含以下文件:
如果缺少任何内容,请返回并查看前面的步骤,检查是否有错误。
mongod
配置文件¶要配置mongod
为要求SSL进行传入连接,请按如下所示修改配置文件。您的值可能会有所不同,具体取决于您创建SSL文件的位置。
选项 | 值 |
---|---|
网络模式 | requireSSL |
net.ssl.PEMKeyFile | /opt/certs/mdb.pem |
net.ssl.CAFile | /opt/certs/mdbca.crt |
net.ssl.clusterFile | /opt/certs/mdb.pem |
security.clusterAuthmode | x509 |
以下示例配置文件包含SSL连接和x.509 身份验证的指令。
注意
以下是示例mongod
配置文件。您的配置文件可能需要其他或不同的选项。
如果您希望以mongod
命令行选项而不是配置文件开头,请参见mongosqld
参考资料。
mongod
服务器。¶mongo
外壳的连接。¶使用mongo
外壳连接到服务器以测试SSL连接。您的mongo
命令需要以下SSL选项:
选项 | 值 |
---|---|
–ssl | 没有 |
–sslCAFile | /opt/certs/mdbca.crt (在步骤2.2中生成的文件) |
–sslPEMKeyFile | /opt/certs/mdb.pem (在步骤5中生成的文件) |
适当地编辑您的选项。
mongosqld
¶您的mongosqld
配置文件需要几个特定于SSL的选项。您的值可能会有所不同,具体取决于您创建SSL文件的位置。
选项 | 值 |
---|---|
mongodb.net.ssl.enabled |
true |
mongodb.net.ssl.PEMKeyFile |
/opt/certs/mdb.pem |
mongodb.net.sslCAFile |
/opt/certs/mdbca.crt |
net.ssl.mode |
requireSSL |
net.ssl.PEMKeyFile |
/opt/certs/bi.pem |
net.ssl.CAFile |
/opt/certs/mdbca.crt |
以下示例配置文件使用目录中的
/opt/certs/
文件。它指定一个用户名和密码,该用户名和密码与具有足够的权限运行mongosqld
和读取test
数据库的MongoDB用户相对应。
要连接到您的mongosqld
实例,请使用以下命令行选项启动MySQL Shell。