可以将FoundationDB集群配置为使用SSL/TLS,但是可以在不知道集群的fdb.cluster文件的情况下连接到集群吗?
换句话说,在其他数据库系统中,fdb.cluster文件是否等同于用户名/密码安全方案?
发布于 2018-07-12 12:34:35
fdb.cluster文件由两个主要部分组成(参见集群文件格式):
id (带有可选的description)IP:PORT对的列表。任何客户端必须能够与列表中的至少一个协调员进行通信,并且必须具有正确的群集ID。否则,它将无法连接。没有内置的服务发现。
这意味着您必须为应用程序提供初始集群文件。一旦连接到协调器节点,它将能够获得完整的列表并自行更新集群文件(如果拓扑发生了变化)。
部署的一个解决方案是让应用程序(或部署脚本)在缺少文件时从内部URL (或文件共享)下载最新的fdb.cluster,以跳转开始安装。
关于身份验证,除非使用TLS/SSL,否则群集文件中的"id“部分充当伪明文密码。即使您有正确的协调器集,应用程序也必须具有正确的集群ID。
尽管它应该被视为与典型SQL服务器中的数据库名称等效的名称。如果您不使用SSL,则可以很容易地找到它并以清晰的方式传输。我想这是为了防止愚蠢的错误,而不是任何其他的错误(例如:键入另一个集群的IP:端口)。
发布于 2018-06-27 23:31:23
没有群集文件就无法连接。这确实提供了一些弱安全性,但如果您想在不受信任的网络中运行集群,则使用互TLS支持要好得多。
https://stackoverflow.com/questions/51070230
复制相似问题