【发布时间】:2020-05-08 17:18:25
【问题描述】:
在查看了几个 MongoDB 官方文档(见底部列表)后,我了解到 MongoDB 在通信中的安全性(如社区版本 4.2)的工作原理如下:
- 对于内部通信身份验证(即副本集的成员之间或
mongos和实现不同分片的副本集之间),有两种可用的机制:- 共享密钥文件 (
--keyFile) - x.509 证书
- 共享密钥文件 (
- 对于内部通信加密,SSL/TLS 是唯一的可能性。换句话说,共享密钥文件 (
--keyFile) 仅提供身份验证,但如果您想要加密,则需要使用 SSL/TLS 替代方案。使用 SSL/TLS 还需要使用 x.509 证书(因此,我们可以说加密也提供身份验证) - 对于客户端到 MongoDB 的通信(独立、副本集或分片集群中的
mongos):- 没有密钥文件选项
- 确保通信安全(同时提供身份验证和加密)的唯一方法是使用 x.509 证书的 SSL/TLS
我想确认一下我的理解,因为我浏览的文档有点“分散”,我不确定我是否明白这一点。非常欢迎任何反馈、评论、额外信息或文档指针!
PD:我最不确定的声明是:“共享密钥文件 (--keyFile) 仅提供身份验证,但如果您想要加密,则需要使用 SSL/ TLS 替代方案"
已检查参考:
【问题讨论】: