Gur*_*kha 6 security encryption ssl bigdata mongodb
我已经成功加密了mongoDB中的通信,但是当我尝试启用数据加密时,我遇到了错误.我正在使用版本为3.2.4的mongoDB企业版.我在控制台中收到以下消息:
ERROR: child process failed, exited with error number 14
Run Code Online (Sandbox Code Playgroud)
但是当我查看日志时,我看到如下详细错误:
Unable to retrieve key .system, error: there are existing data files, but no valid keystore could be located.
Fatal Assertion 28561
Run Code Online (Sandbox Code Playgroud)
以下是我的配置文件的片段:
# enable authentication
security:
authorization: enabled
enableEncryption: true
encryptionKeyFile: /home/test/mongodb-keyfile
Run Code Online (Sandbox Code Playgroud)
没有enableEncryption和encryptionKeyFile参数,它工作正常.谁能解释一下我在这里缺少什么?谢谢!
MongoDB的加密存储引擎支持两种密钥管理选项:
值得一提的是,使用密钥管理器符合监管密钥管理指南,建议通过本地密钥管理.
如果您使用的是密钥管理器选项,请参阅KMIP主密钥轮换.
由于您使用的是本地密钥选项,因此如果您具有副本集部署,则可以旋转副本集成员.这将重新同步从未加密到加密的数据mongod.
或者,如果您只有一个独立的mongod,您可以:
mongod进程.dbpath.要格外小心!- 如果要删除,请确保您有备份数据.mongod使用--enableEncryption和--encryptionKeyFile重新启动.mongod.作为一个例子,你可以使用mongodump转储数据,并使用mongorestore恢复转储文件.
最后,请注意MongoDB Enterprise Edition是商业支持的产品.如果您有商业支持订阅,我建议您打开支持案例.