我已成功加密 mongoDB 中的通信,但是当我尝试启用数据加密时出现错误。我使用的是 mongoDB 企业版,版本为 3.2.4。我在控制台中收到以下消息:
ERROR: child process failed, exited with error number 14
但是当我查看日志时,我看到详细的错误如下:
Unable to retrieve key .system, error: there are existing data files, but no valid keystore could be located.
Fatal Assertion 28561
以下是我的配置文件的片段:
# enable authentication
security:
authorization: enabled
enableEncryption: true
encryptionKeyFile: /home/test/mongodb-keyfile
无需enableEncryption
, and encryptionKeyFile
参数。谁能解释一下我在这里缺少什么?谢谢!
MongoDB 的加密存储引擎支持两种密钥管理选项:
-
关键经理 https://docs.mongodb.org/manual/tutorial/configure-encryption/#key-manager:通过密钥管理互操作性协议 (KMIP) 与第三方密钥管理设备集成。
-
本地密钥 https://docs.mongodb.org/manual/tutorial/configure-encryption/#local-key-management:通过密钥文件使用本地密钥管理。
值得一提的是,使用密钥管理器符合监管密钥管理指南,并且受到推崇的超过本地密钥管理。
如果您使用密钥管理器选项,请参阅KMIP 主密钥轮换 https://docs.mongodb.org/manual/tutorial/rotate-encryption-key/#kmip-master-key-rotation.
由于您使用的是本地密钥选项,如果您有副本集部署 https://docs.mongodb.org/manual/core/replication-introduction/你可以轮换副本集成员 https://docs.mongodb.org/manual/tutorial/rotate-encryption-key/#rotate-a-member-of-replica-set。这个会re-sync https://docs.mongodb.org/manual/tutorial/resync-replica-set-member/数据从未加密到加密mongod
.
或者,如果您只有独立的mongod
, 你可以:
-
Back Up https://docs.mongodb.org/manual/core/backups/你的数据库文件。
-
Stop mongod https://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/#stop-mongod-processes过程。
- 删除或移动现有数据库文件
dbpath
。请格外小心! - 如果您要删除,请确保您有备份数据 https://docs.mongodb.org/manual/administration/backup/.
- Restart
mongod
with --启用加密 https://docs.mongodb.org/manual/reference/program/mongod/#cmdoption--enableEncryption and --加密密钥文件 https://docs.mongodb.org/manual/reference/program/mongod/#cmdoption--encryptionKeyFile.
- 将备份文件恢复到重启并加密的状态
mongod
.
As an example,你可以使用蒙戈转储 https://docs.mongodb.org/manual/reference/program/mongodump/转储数据,并使用蒙戈雷商店 https://docs.mongodb.org/manual/reference/program/mongorestore/恢复转储文件。
最后,请注意MongoDB 企业版 https://www.mongodb.com/products/mongodb-enterprise-advanced版本是商业支持的产品。如果您订阅了商业支持,我建议您打开一个支持案例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)